Tutorial of network schematas - Bio Models

The network schematas for biological relevant boolean network models


In [1]:
%load_ext autoreload
%autoreload 2
%matplotlib inline

In [2]:
import os,sys,inspect
currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(currentdir)
sys.path.insert(0,parentdir)
#ABOVE added to use development version of cana
from __future__ import division
import os
import math
import numpy as np
import pandas as pd
pd.options.display.float_format = '{:.2g}'.format
import graphviz
import cana
from cana.drawing import draw_canalizing_map_graphviz
from cana.drawing import draw_dynamics_canalization_map_graphviz
import matplotlib as mpl
import matplotlib.style
mpl.style.use('classic')
from matplotlib.text import Text
from matplotlib.patches import Circle, Rectangle, RegularPolygon
from matplotlib.collections import PatchCollection
import random
from copy import copy
mpl.rc('font', **{'size':16})
import matplotlib.pyplot as plt
from cana.datasets.bio import THALIANA, DROSOPHILA, BUDDING_YEAST
from IPython.display import display, Image, Latex, SVG, HTML
import subprocess
#
import json
import ast
#BELOW added for graphviz to work on windows
os.environ["PATH"] += os.pathsep + "C:/Anaconda/pkgs/graphviz-2.38.0-4/Library/bin/"

In [3]:
def multi_column_display(objs, titles=['',''], cols=2):
    html_table = "<table style='width:100%; border:0px'>{content}</table>"
    html_row = "<tr style='border:0px'>{content}</tr>"
    html_cell = "<td style='width:{width}%;vertical-align:top;border:0px'><h3>{{title}}</h3>{{content}}</td>"
    html_cell = html_cell.format(width=100/cols)

    cells = [ html_cell.format(content=obj,title=title) for obj,title in zip(objs,titles) ]
    cells += (cols - (len(objs)%cols)) * [html_cell.format(content="",title="")] # pad
    rows = [ html_row.format(content="".join(cells[i:i+cols])) for i in range(0,len(cells),cols)]
    display(HTML(html_table.format(content="".join(rows))))

In [4]:
name = 'breastcancer'
d = open('../cana/{:s}_dict.txt'.format(name), 'r').read()
d = ast.literal_eval(d)
N = cana.BooleanNetwork.from_dict(d, name=name)
foldername = name
print N


<BNetwork(Name='breastcancer', N=80, Nodes=['IGF1R_T', 'IGF1R', 'IGF1R_2', 'Fulvestrant', 'Alpelisib', 'Everolimus', 'Trametinib', 'Ipatasertib', 'Palbociclib', 'Neratinib', 'HER2', 'HER3_T', 'HER3', 'HER3_2', 'PDK1', 'mTORC2', 'SGK1_T', 'SGK1', 'PIM', 'HER2_3', 'HER2_3_2', 'RAS', 'RAS_2', 'RAS_3', 'MAPK', 'MAPK_2', 'PI3K', 'PI3K_2', 'PTEN', 'PIP3', 'PIP3_2', 'PDK1_pm', 'mTORC2_pm', 'AKT', 'p21_p27_T', 'p21_p27', 'cycE_CDK2_T', 'cycE_CDK2', 'KMT2D', 'TSC', 'PRAS40', 'mTORC1', 'FOXO3', 'FOXO3_Ub', 'BIM_T', 'BCL2_T', 'BIM', 'BAD', 'MCL1', 'EIF4F', 'S6K', 'Translation', 'ER', 'ESR1', 'ESR1_2', 'FOXA1', 'PBX1', 'ER_transcription', 'ER_transcription_2', 'MYC', 'MYC_2', 'cyclinD', 'cyclinD_2', 'BCL2', 'CDK46', 'cycD_CDK46', 'cycD_CDK46_2', 'pRb', 'pRb_2', 'pRb_3', 'E2F', 'E2F_2', 'E2F_3', 'Proliferation', 'Proliferation_2', 'Proliferation_3', 'Proliferation_4', 'Apoptosis', 'Apoptosis_2', 'Apoptosis_3'])>

Effective Graph


In [5]:
Nsg = N.structural_graph()

In [6]:
nodes = {d['label']:i for i,d in Nsg.nodes(data=True)}
n = len(nodes)
nodes={v:k for k,v in nodes.items()}
att = {}

ctr_nodes = {i:d['label'] for i,d in Nsg.nodes(data=True) if i in [51,57,58,73,74,75,76,77,78,79]}
ALR = ctr_nodes.keys()
in1_nodes = {i:d['label'] for i,d in Nsg.nodes(data=True) if Nsg.out_degree(i)==2 and i not in ALR}
ALR.extend(in1_nodes.keys())
in2_nodes = {i:d['label'] for i,d in Nsg.nodes(data=True) if Nsg.out_degree(i)==3 and i not in ALR}
ALR.extend(in2_nodes.keys())
out_nodes = {i:d['label'] for i,d in Nsg.nodes(data=True) if i not in ALR}

n_in1 = len(in1_nodes)
n_in2 = len(in2_nodes)
n_out = len(out_nodes)
n_ctr = len(ctr_nodes)
r_ctr = 2
r_in1 = 3
r_in2 = 4
r_out = 5

ctr = max([r_in1,r_out,r_ctr])/2

for deg,(nid,label) in zip( np.linspace(0,360,n_in1,False), in1_nodes.items()):
    x, y = round(ctr + r_in1*math.cos(math.radians(deg)),2), round(ctr + r_in1*math.sin(math.radians(deg)),2)
    pos = '{:.2f},{:.2f}!'.format(x,y)
    att[nid] = {'label':label,'pos':pos,'fillcolor':'#515660'}
for deg,(nid,label) in zip( np.linspace(0,360,n_in2,False), in2_nodes.items()):
    x, y = round(ctr + r_in2*math.cos(math.radians(deg)),2), round(ctr + r_in2*math.sin(math.radians(deg)),2)
    pos = '{:.2f},{:.2f}!'.format(x,y)
    att[nid] = {'label':label,'pos':pos,'fillcolor':'#515660'}
for deg,(nid,label) in zip( np.linspace(0,360,n_out, False), out_nodes.items()):
    x, y = round(ctr + r_out*math.cos(math.radians(deg)),2), round(ctr + r_out*math.sin(math.radians(deg)),2)
    pos = '{:.2f},{:.2f}!'.format(x,y)
    att[nid] = {'label':label,'pos':pos,'fillcolor':'#515660'}
for deg,(nid,label) in zip( np.linspace(0,360,n_ctr,False), ctr_nodes.items()):
    x, y = round(ctr + r_ctr*math.cos(math.radians(deg)),2), round(ctr + r_ctr*math.sin(math.radians(deg)),2)
    pos = '{:.2f},{:.2f}!'.format(x,y)
    att[nid] = {'label':label,'pos':pos,'fillcolor':'red', 'width':'.99', 'shape':'oval'}

In [7]:
# Draw the Structural Graph
S = graphviz.Digraph(name='Structural Graph', engine='neato')
S.attr('graph', concentrate='false', simplify='false', overlap='false',splines='false')
S.attr('node', shape='oval', fixedsize='true', width='.60', color='gray', style='filled', fillcolor='#515660', penwidth='3', 
       fontname='Helvetica', fontcolor='white',fontsize='12')
S.attr('edge', arrowhead='normal', arrowsize='.5', color='#545454')

for nid,d in Nsg.nodes(data=True):
    if nid not in att:
        continue
    natt = att[nid]
    S.node(name=str(nid), **natt)

max_penwidth = 2.5
for s,t,d in Nsg.edges(data=True):
    weight = '%d' % (d['weight']*100)
    penwidth_scaled = '%.2f' % ( (d['weight']/1)*max_penwidth )
    S.edge(str(s),str(t), weight=weight, penwidth=penwidth_scaled, )
print 'Nodes: %d | Edges: %d' % (len(Nsg.nodes()) , len(Nsg.edges()) )
# Display
display(SVG(S.pipe(format='svg')),metadata={'isolated':True})
# Export
S._format = 'svg'
efile = u"%s/../experiments/2017 - BioModels/%s/graphs/SG" % (os.getcwd(),foldername)
S.render(efile, cleanup=True)
subprocess.call("inkscape -z '%s.svg' -d 300 -e '%s.png'" % (efile,efile) , shell=True)


Nodes: 80 | Edges: 229
Structural Graph 0 IGF1R_T 0->0 1 IGF1R 0->1 2 IGF1R_2 0->2 1->2 21 RAS 1->21 26 PI3K 1->26 2->1 2->21 2->26 3 Fulvestrant 3->3 53 ESR1 3->53 54 ESR1_2 3->54 4 Alpelisib 4->4 4->26 27 PI3K_2 4->27 5 Everolimus 5->5 15 mTORC2 5->15 32 mTORC2_pm 5->32 41 mTORC1 5->41 6 Trametinib 6->6 24 MAPK 6->24 25 MAPK_2 6->25 7 Ipatasertib 7->7 33 AKT 7->33 8 Palbociclib 8->8 64 CDK46 8->64 9 Neratinib 9->9 19 HER2_3 9->19 20 HER2_3_2 9->20 10 HER2 10->1 10->2 10->10 10->19 10->20 11 HER3_T 11->11 12 HER3 11->12 13 HER3_2 12->13 12->19 12->20 13->12 13->19 13->20 14 PDK1 14->14 17 SGK1 14->17 15->15 15->17 16 SGK1_T 16->16 16->17 39 TSC 17->39 42 FOXO3 17->42 18 PIM 18->18 35 p21_p27 18->35 40 PRAS40 18->40 18->42 47 BAD 18->47 19->20 19->21 22 RAS_2 19->22 19->26 20->19 20->21 20->22 23 RAS_3 20->23 20->26 20->27 21->22 21->23 21->24 21->26 22->21 22->23 22->24 22->25 22->26 23->21 23->22 23->24 23->25 23->26 24->25 24->47 25->20 25->24 25->39 43 FOXO3_Ub 25->43 46 BIM 25->46 25->47 26->27 29 PIP3 26->29 27->26 27->29 30 PIP3_2 27->30 28 PTEN 28->28 28->29 28->30 29->24 29->25 29->30 31 PDK1_pm 29->31 29->32 29->33 30->24 30->25 30->29 30->31 30->32 30->33 31->33 32->33 33->35 38 KMT2D 33->38 33->39 33->40 33->42 33->47 34 p21_p27_T 34->35 37 cycE_CDK2 35->37 36 cycE_CDK2_T 36->37 67 pRb 37->67 68 pRb_2 37->68 69 pRb_3 37->69 58 ER_transcription_2 38->58 39->41 40->41 49 EIF4F 41->49 50 S6K 41->50 42->1 42->2 42->12 42->13 42->34 42->46 42->53 42->54 55 FOXA1 42->55 43->42 44 BIM_T 44->44 44->46 45 BCL2_T 45->45 63 BCL2 45->63 77 Apoptosis 46->77 78 Apoptosis_2 46->78 79 Apoptosis_3 46->79 47->77 47->78 47->79 48 MCL1 48->77 48->78 48->79 51 Translation 49->51 50->2 50->51 51->48 73 Proliferation 51->73 74 Proliferation_2 51->74 75 Proliferation_3 51->75 76 Proliferation_4 51->76 52 ER 52->52 52->53 52->54 57 ER_transcription 52->57 52->58 53->54 53->57 54->53 54->57 54->58 55->58 56 PBX1 56->56 56->58 57->58 59 MYC 57->59 58->57 60 MYC_2 58->60 58->63 59->34 59->60 61 cyclinD 59->61 60->34 60->59 62 cyclinD_2 60->62 61->62 65 cycD_CDK46 61->65 62->61 62->65 66 cycD_CDK46_2 62->66 63->77 63->78 63->79 64->65 64->66 65->66 65->67 65->68 66->65 66->67 66->68 66->69 67->68 67->69 70 E2F 67->70 68->67 68->69 71 E2F_2 68->71 72 E2F_3 68->72 69->67 69->68 69->72 70->36 70->71 70->72 70->73 71->36 71->70 71->72 71->73 71->74 71->75 72->36 72->70 72->71 72->72 72->73 72->74 72->75 72->76 77->77 78->78 79->79
Out[7]:
1

In [8]:
# Calculate Effective Graph
threshold = 0.00
Neg = N.effective_graph(mode='input',bound='upper', threshold=threshold)

In [9]:
#display only state variables, rather than each node state
#create condensed set of nodes: {key original node, value supernode label}
super_node_map={0:[0],1:[1],2:[1],3:[2],4:[3],5:[4],6:[5],7:[6],8:[7],9:[8],
             10:[9],11:[10],12:[11],13:[11],14:[12],15:[13],16:[14],17:[15],18:[16],19:[17],
             20:[17],21:[18],22:[18],23:[18],24:[19],25:[19],26:[20],27:[20],28:[21],29:[22],
             30:[22],31:[23],32:[24],33:[25],34:[26],35:[27],36:[28],37:[29],38:[30],39:[31],
             40:[32],41:[33],42:[34],43:[35],44:[36],45:[37],46:[38],47:[39],48:[40],49:[41],
             50:[42],51:[43],52:[44],53:[45],54:[45],55:[46],56:[47],57:[48],58:[48],59:[49],
             60:[49],61:[50],62:[50],63:[51],64:[52],65:[53],66:[53],67:[54],68:[54],69:[54],
             70:[55],71:[55],72:[55],73:[56],74:[56],75:[56],76:[56],77:[57],78:[57],79:[57]}
#reverse_node_map = {node[0]:key for key,node in super_node_map.items()}

ls = super_node_map.items()
ls.reverse() #reverse list so that we keep the first name and overwrite the multi-state variants
att = {node[0]:{'label':nodes[key]} for key,node in ls}

#create condensed set of edges, creates multigraph
edges=[(super_node_map[edge[0]][0],super_node_map[edge[1]][0],edge[2]) for edge in Neg.edges(data=True)]
#filter out multiple edges and average weights
all_edges={edge[0]:{} for edge in edges}
for edge in edges: #calculate average in place
    all_edges[edge[0]].setdefault(edge[1],{'weight':0,'number':0})
    all_edges[edge[0]][edge[1]]['number']+=1
    all_edges[edge[0]][edge[1]]['weight']+= \
    (edge[2]['weight']-all_edges[edge[0]][edge[1]]['weight'])/all_edges[edge[0]][edge[1]]['number']
averaged_edges=[(key1,key2,{'weight':all_edges[key1][key2]['weight']}) for key1 in all_edges for key2 in all_edges[key1]]
#print Neg.edges(data=True)
print  len(edges),len(averaged_edges)


229 124

In [10]:
#further condense to variables of interest, assumes ER is ESR1
fig3_node_map={0:[0],1:[0],2:[0],3:[1],4:[2],5:[3],6:[4],7:[5],8:[6],9:[7],
             10:[8],11:[8],12:[8],13:[8],14:[9],15:[10],16:[11],17:[11],18:[12],19:[8],
             20:[8],21:[13],22:[13],23:[13],24:[14],25:[14],26:[15],27:[15],28:[16],29:[17],
             30:[17],31:[18],32:[19],33:[20],34:[21],35:[21],36:[22],37:[22],38:[23],39:[24],
             40:[25],41:[26],42:[27],43:[27],44:[28],45:[40],46:[28],47:[29],48:[30],49:[31],
             50:[32],51:[33],52:[34],53:[34],54:[34],55:[35],56:[36],57:[37],58:[37],59:[38],
             60:[38],61:[39],62:[39],63:[40],64:[41],65:[42],66:[42],67:[43],68:[43],69:[43],
             70:[44],71:[44],72:[44],73:[45],74:[45],75:[45],76:[45],77:[46],78:[46],79:[46]}

ls = fig3_node_map.items()
ls.reverse() #reverse list so that we keep the first name and overwrite the multi-state variants
att = {node[0]:{'label':nodes[key]} for key,node in ls}
#manually fix labels to match figure
att[0]['label']='IGF1R'
att[8]['label']='HER2/HER3'
att[11]['label']='SGK1'
att[21]['label']='p21/p27'
att[22]['label']='cycE/CDK2'
att[28]['label']='BIM'
att[34]['label']='ESR1'
att[40]['label']='BCL2'

#create condensed set of edges, creates multigraph
fig3_multi_edges,fig3_averaged_edges=[],[]
fig3_multi_edges=[(fig3_node_map[edge[0]][0],fig3_node_map[edge[1]][0],edge[2]) for edge in Neg.edges(data=True)]
#filter out multiple edges and average weights
fig3_all_edges={edge[0]:{} for edge in fig3_multi_edges}
for edge in fig3_multi_edges: #calculate average in place
    fig3_all_edges[edge[0]].setdefault(edge[1],{'weight':0,'number':0})
    fig3_all_edges[edge[0]][edge[1]]['number']+=1
    fig3_all_edges[edge[0]][edge[1]]['weight']+= \
    (edge[2]['weight']-fig3_all_edges[edge[0]][edge[1]]['weight'])/fig3_all_edges[edge[0]][edge[1]]['number']
fig3_averaged_edges=[(key1,key2,{'weight':fig3_all_edges[key1][key2]['weight']}) \
                     for key1 in fig3_all_edges for key2 in fig3_all_edges[key1]]
print  len(fig3_multi_edges),len(fig3_averaged_edges)
print att


229 110
{0: {'label': 'IGF1R'}, 1: {'label': 'Fulvestrant'}, 2: {'label': 'Alpelisib'}, 3: {'label': 'Everolimus'}, 4: {'label': 'Trametinib'}, 5: {'label': 'Ipatasertib'}, 6: {'label': 'Palbociclib'}, 7: {'label': 'Neratinib'}, 8: {'label': 'HER2/HER3'}, 9: {'label': 'PDK1'}, 10: {'label': 'mTORC2'}, 11: {'label': 'SGK1'}, 12: {'label': 'PIM'}, 13: {'label': 'RAS'}, 14: {'label': 'MAPK'}, 15: {'label': 'PI3K'}, 16: {'label': 'PTEN'}, 17: {'label': 'PIP3'}, 18: {'label': 'PDK1_pm'}, 19: {'label': 'mTORC2_pm'}, 20: {'label': 'AKT'}, 21: {'label': 'p21/p27'}, 22: {'label': 'cycE/CDK2'}, 23: {'label': 'KMT2D'}, 24: {'label': 'TSC'}, 25: {'label': 'PRAS40'}, 26: {'label': 'mTORC1'}, 27: {'label': 'FOXO3'}, 28: {'label': 'BIM'}, 29: {'label': 'BAD'}, 30: {'label': 'MCL1'}, 31: {'label': 'EIF4F'}, 32: {'label': 'S6K'}, 33: {'label': 'Translation'}, 34: {'label': 'ESR1'}, 35: {'label': 'FOXA1'}, 36: {'label': 'PBX1'}, 37: {'label': 'ER_transcription'}, 38: {'label': 'MYC'}, 39: {'label': 'cyclinD'}, 40: {'label': 'BCL2'}, 41: {'label': 'CDK46'}, 42: {'label': 'cycD_CDK46'}, 43: {'label': 'pRb'}, 44: {'label': 'E2F'}, 45: {'label': 'Proliferation'}, 46: {'label': 'Apoptosis'}}

In [314]:
#alternative to show original edges, rather than effective weights (every edge weighted equally)
for edge in fig3_multi_edges: 
    edge[2]['weight']=1
for edge in fig3_averaged_edges: 
    edge[2]['weight']=1

In [11]:
#calculate positions for att, try 9x13 grid
x,y = np.linspace(0,600,9,dtype=int), np.linspace(600,0,14,dtype=int)

#enumerate all 47 nodes
att[0]['pos'] = '{:.2f},{:.2f}!'.format(x[2]/72,y[1]/72) #IGF1R    #{'x':x[5],'y':y[0],'fillcolor':'#4f6fb0'}
att[1]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[3]/72) #Fulvestrant
att[2]['pos'] = '{:.2f},{:.2f}!'.format(x[5]/72,y[3]/72) #Alpelisib
att[3]['pos'] = '{:.2f},{:.2f}!'.format(x[5]/72,y[4]/72) #Everolimus
att[4]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[2]/72) #Trametinib
att[5]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[4]/72) #Ipatasertib
att[6]['pos'] = '{:.2f},{:.2f}!'.format(x[7]/72,y[7]/72) #Palbociclib
att[7]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[0]/72) #Neratinib
att[8]['pos'] = '{:.2f},{:.2f}!'.format(x[1]/72,y[1]/72) #HER2/HER3    
att[9]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[5]/72) #PDK1
att[10]['pos'] = '{:.2f},{:.2f}!'.format(x[1]/72,y[5]/72) #mTORC2
att[11]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[6]/72) #SGK1
att[12]['pos'] = '{:.2f},{:.2f}!'.format(x[2]/72,y[5]/72) #PIM
att[13]['pos'] = '{:.2f},{:.2f}!'.format(x[1]/72,y[3]/72) #RAS
att[14]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[3]/72) #MAPK
att[15]['pos'] = '{:.2f},{:.2f}!'.format(x[2]/72,y[3]/72) #PI3K
att[16]['pos'] = '{:.2f},{:.2f}!'.format(x[4]/72,y[2]/72) #PTEN    
att[17]['pos'] = '{:.2f},{:.2f}!'.format(x[4]/72,y[5]/72) #PIP3
att[18]['pos'] = '{:.2f},{:.2f}!'.format(x[3]/72,y[6]/72) #PDK1_pm
att[19]['pos'] = '{:.2f},{:.2f}!'.format(x[5]/72,y[6]/72) #mTORC2_pm
att[20]['pos'] = '{:.2f},{:.2f}!'.format(x[4]/72,y[7]/72) #AKT
att[21]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[8]/72) #p21/p27
att[22]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[9]/72) #cycE/CDK2
att[23]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[6]/72) #KMT2D
att[24]['pos'] = '{:.2f},{:.2f}!'.format(x[4]/72,y[8]/72) #TSC    
att[25]['pos'] = '{:.2f},{:.2f}!'.format(x[3]/72,y[9]/72) #PRAS40
att[26]['pos'] = '{:.2f},{:.2f}!'.format(x[4]/72,y[9]/72) #mTORC1
att[27]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[9]/72) #FOXO3
att[28]['pos'] = '{:.2f},{:.2f}!'.format(x[0]/72,y[11]/72) #BIM
att[29]['pos'] = '{:.2f},{:.2f}!'.format(x[1]/72,y[11]/72) #BAD
att[30]['pos'] = '{:.2f},{:.2f}!'.format(x[3]/72,y[11]/72) #MCL1
att[31]['pos'] = '{:.2f},{:.2f}!'.format(x[4]/72,y[10]/72) #EIF4F
att[32]['pos'] = '{:.2f},{:.2f}!'.format(x[5]/72,y[10]/72) #S6K    
att[33]['pos'] = '{:.2f},{:.2f}!'.format(x[5]/72,y[11]/72) #Translation
att[34]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[1]/72) #ESR1
att[35]['pos'] = '{:.2f},{:.2f}!'.format(x[7]/72,y[1]/72) #FOXA1
att[36]['pos'] = '{:.2f},{:.2f}!'.format(x[8]/72,y[1]/72) #PBX1
att[37]['pos'] = '{:.2f},{:.2f}!'.format(x[8]/72,y[4]/72) #ER_transcription
att[38]['pos'] = '{:.2f},{:.2f}!'.format(x[8]/72,y[6]/72) #MYC
att[39]['pos'] = '{:.2f},{:.2f}!'.format(x[8]/72,y[8]/72) #CyclinD
att[40]['pos'] = '{:.2f},{:.2f}!'.format(x[2]/72,y[11]/72) #BCL2   
att[41]['pos'] = '{:.2f},{:.2f}!'.format(x[7]/72,y[8]/72) #CDK46
att[42]['pos'] = '{:.2f},{:.2f}!'.format(x[8]/72,y[9]/72) #CycD_CDK46
att[43]['pos'] = '{:.2f},{:.2f}!'.format(x[7]/72,y[10]/72) #pRb
att[44]['pos'] = '{:.2f},{:.2f}!'.format(x[7]/72,y[11]/72) #E2F
att[45]['pos'] = '{:.2f},{:.2f}!'.format(x[6]/72,y[13]/72) #Proliferation
att[46]['pos'] = '{:.2f},{:.2f}!'.format(x[1]/72,y[13]/72) #Apoptosis

#print att

In [12]:
#assign each node to a pathway
RTK_path=[0,8]
PI3K_path=[15,16,17]
MAPK_path=[13,14]
AKT_path=[9,10,11,12,18,19,20,27]
mTORC1_path=[24,25,26,31,32,33]
ER_path=[23,34,35,36,37,38]
apop_path=[28,29,30,40,46]
prol_path=[21,22,39,41,42,43,44,45]
drug_path=[1,2,3,4,5,6,7]
for node in att:
    if node in RTK_path: att[node]['fillcolor']='#fb8072'
    elif node in PI3K_path: att[node]['fillcolor']='#80b1d3'
    elif node in MAPK_path: att[node]['fillcolor']='#ffffb3'
    elif node in AKT_path: att[node]['fillcolor']='#8dd3c7'
    elif node in mTORC1_path: att[node]['fillcolor']='#fdb462'
    elif node in ER_path: att[node]['fillcolor']='#d9d9d9'
    elif node in apop_path: att[node]['fillcolor']='#b3de69'
    elif node in prol_path: att[node]['fillcolor']='#bebada'
    elif node in drug_path: att[node]['fillcolor']='#bc80bd'
    else: att[node]['fillcolor']='grey'

In [13]:
# Draw the Effective Graph
E = graphviz.Digraph(name='Effective Graph', engine='neato')
E.attr('graph', concentrate='false', simplify='false', splines='true')
E.attr('node', shape='rectangle', fixedsize='true', width='.75', color='black', style='filled', penwidth='1', #fixedsize='true', width='.75'
       fontname='Helvetica', fontcolor='black',fontsize='10')
E.attr('edge', arrowhead='normal', arrowsize='.5', color='#545454')

#specify overrides to fixed size for the multigraph (for the averaged graph graphviz can calculate each width)
att[8]['width']='1.0' #HER2/HER3
att[19]['width']='1.0' #mTORC2_pm
att[37]['width']='1.2' #ER_transcription
att[42]['width']='1.0' #CycD_CDK46
att[45]['width']='3.0' #proliferation
att[46]['width']='3.0' #apoptosis

#for nid,d in Nsg.nodes(data=True):
for nid in att:
    natt = att[nid]
    E.node(name=str(nid), **natt)

max_penwidth = 2.5
#for s,t,d in Neg.edges(data=True):
for s,t,d in fig3_multi_edges: #use edges for multigraph or averaged_edges for regular graph (or fig3_multi_edges/fig3_averaged_edges)
    if s==t: continue #include this line to get rid of self-loops
    weight = '%d' % (d['weight']*100)
    penwidth_scaled = '%.2f' % ( (d['weight']/1)*max_penwidth )
    E.edge(str(s),str(t), weight=weight, penwidth=penwidth_scaled)
    
print 'Nodes: %d | Edges: %d' % (len(Neg.nodes()) , len(Neg.edges()) )
# Display
display(SVG(E.pipe(format='svg')),metadata={'isolated':True})
# Export
E._format = 'svg'
efile = u'%s/../experiments/2017 - BioModels/%s/graphs/EG' % (os.getcwd(),foldername)
E.render(efile, cleanup=True)
subprocess.call("inkscape -z '%s.svg' -d 300 -e '%s.png'" % (efile,efile) , shell=True)


Nodes: 80 | Edges: 229
Effective Graph 0 IGF1R 13 RAS 0->13 0->13 15 PI3K 0->15 0->15 1 Fulvestrant 34 ESR1 1->34 1->34 2 Alpelisib 2->15 2->15 3 Everolimus 10 mTORC2 3->10 19 mTORC2_pm 3->19 26 mTORC1 3->26 4 Trametinib 14 MAPK 4->14 4->14 5 Ipatasertib 20 AKT 5->20 6 Palbociclib 41 CDK46 6->41 7 Neratinib 8 HER2/HER3 7->8 7->8 8->0 8->0 8->13 8->13 8->13 8->13 8->13 8->15 8->15 8->15 9 PDK1 11 SGK1 9->11 10->11 24 TSC 11->24 27 FOXO3 11->27 12 PIM 21 p21/p27 12->21 25 PRAS40 12->25 12->27 29 BAD 12->29 13->14 13->14 13->14 13->14 13->14 13->15 13->15 13->15 14->8 14->24 14->27 28 BIM 14->28 14->29 14->29 17 PIP3 15->17 15->17 15->17 16 PTEN 16->17 16->17 17->14 17->14 17->14 17->14 18 PDK1_pm 17->18 17->18 17->19 17->19 17->20 17->20 18->20 19->20 20->21 23 KMT2D 20->23 20->24 20->25 20->27 20->29 22 cycE/CDK2 21->22 43 pRb 22->43 22->43 22->43 37 ER_transcription 23->37 24->26 25->26 31 EIF4F 26->31 32 S6K 26->32 27->0 27->0 27->8 27->8 27->21 27->28 27->34 27->34 35 FOXA1 27->35 46 Apoptosis 28->46 28->46 28->46 29->46 29->46 29->46 30 MCL1 30->46 30->46 30->46 33 Translation 31->33 32->0 32->33 33->30 45 Proliferation 33->45 33->45 33->45 33->45 34->37 34->37 34->37 34->37 34->37 35->37 36 PBX1 36->37 38 MYC 37->38 37->38 40 BCL2 37->40 38->21 38->21 39 cyclinD 38->39 38->39 42 cycD_CDK46 39->42 39->42 39->42 40->46 40->46 40->46 41->42 41->42 42->43 42->43 42->43 42->43 42->43 44 E2F 43->44 43->44 43->44 43->44 44->22 44->22 44->22 44->45 44->45 44->45 44->45 44->45 44->45 44->45 44->45
Out[13]:
1

In [14]:
bound = 'upper'
print N.nodes[13]
print N.nodes[13].schemata_look_up_table(type="pi")
df = pd.DataFrame({
        'node':[n.name for n in N.nodes],
        'k':[n.k for n in N.nodes],
        'k_r':[n.input_redundancy(mode='node',bound=bound,norm=False) for n in N.nodes],
        'k_e':[n.effective_connectivity(mode='node',bound=bound,norm=False) for n in N.nodes],
        'k_s':[n.input_symmetry(mode='node',bound=bound,norm=False) for n in N.nodes],
        'k_r*':[n.input_redundancy(mode='node',bound=bound,norm=True) for n in N.nodes],
        'k_e*':[n.effective_connectivity(mode='node',bound=bound,norm=True) for n in N.nodes],
        'k_s*':[n.input_symmetry(mode='node',bound=bound,norm=True) for n in N.nodes],
        'k_e(out-d)':[Neg.out_degree()[n] for n in Neg.out_degree()],
        'k_e(out-s)':[Neg.out_degree(weight='weight')[n] for n in Neg.out_degree(weight='weight')],
    }).set_index('node')
df = df[['k','k_r','k_e','k_s','k_r*','k_e*','k_s*','k_e(out-d)','k_e(out-s)']]
print df
efile = u'%s/../experiments/2017 - BioModels/%s/nodes.csv' % (os.getcwd(),foldername)
df.to_csv(efile, encoding='utf-8')


<BNode(name='HER3_2', k=2, inputs=[HER3,FOXO3], state=0, outputs='[0,0,0,1]' constant=False)>
  In:  Out:
0  0#     0
1  #0     0
2  11     1
                    k  k_r  k_e  k_s  k_r*  k_e*  k_s*  k_e(out-d)  k_e(out-s)
node                                                                          
IGF1R_T             1    0    1    0     0     1     0           3         1.6
IGF1R               4  2.6  1.4  1.4  0.64  0.36  0.36           3        0.35
IGF1R_2             5  3.6  1.4  3.1  0.71  0.29  0.61           3        0.41
Fulvestrant         1    0    1    0     0     1     0           3         1.5
Alpelisib           1    0    1    0     0     1     0           3         1.5
Everolimus          1    0    1    0     0     1     0           4           3
Trametinib          1    0    1    0     0     1     0           3         1.2
Ipatasertib         1    0    1    0     0     1     0           2         1.2
Palbociclib         1    0    1    0     0     1     0           2           2
Neratinib           1    0    1    0     0     1     0           3         1.3
HER2                1    0    1    0     0     1     0           5         1.5
HER3_T              1    0    1    0     0     1     0           2         1.2
HER3                3  1.8  1.2    3  0.58  0.42     1           3        0.59
HER3_2              2 0.75  1.2    2  0.38  0.62     1           3        0.41
PDK1                1    0    1    0     0     1     0           2         1.2
mTORC2              2 0.75  1.2    0  0.38  0.62     0           2        0.75
SGK1_T              1    0    1    0     0     1     0           2         1.2
SGK1                3  1.8  1.2    3  0.58  0.42     1           2        0.38
PIM                 1    0    1    0     0     1     0           5           2
HER2_3              5  3.4  1.6  2.7  0.68  0.33  0.54           4        0.32
HER2_3_2            6  4.7  1.3  3.1  0.78  0.22  0.52           6         1.7
RAS                 6  4.9  1.1    6  0.82  0.18     1           4        0.68
RAS_2               4  2.4  1.6    2  0.61  0.39   0.5           5        0.43
RAS_3               3  1.8  1.2    3  0.58  0.42     1           5         1.2
MAPK                7  5.2  1.8  3.9  0.74  0.26  0.56           2        0.59
MAPK_2              6  4.2  1.8  3.5   0.7   0.3  0.59           6         2.1
PI3K                9  7.6  1.4  2.9  0.85  0.15  0.32           2        0.38
PI3K_2              3  1.8  1.2  1.3  0.58  0.42  0.44           3        0.63
PTEN                1    0    1    0     0     1     0           3         1.6
PIP3                4  2.4  1.6  1.8  0.61  0.39  0.45           6         1.5
...                ..  ...  ...  ...   ...   ...   ...         ...         ...
S6K                 1    0    1    0     0     1     0           2        0.81
Translation         2 0.75  1.2    2  0.38  0.62     1           5         2.1
ER                  1    0    1    0     0     1     0           5         1.7
ESR1                4  2.4  1.6  1.8  0.61  0.39  0.45           2        0.25
ESR1_2              4  2.8  1.2  2.2   0.7   0.3  0.56           3        0.78
FOXA1               1    0    1    0     0     1     0           1       0.031
PBX1                1    0    1    0     0     1     0           2           1
ER_transcription    4  2.4  1.6    2  0.61  0.39   0.5           2        0.53
ER_transcription_2  6  4.9  1.1    6  0.82  0.18     1           3         1.6
MYC                 2 0.75  1.2    2  0.38  0.62     1           3         1.2
MYC_2               2 0.75  1.2    2  0.38  0.62     1           3         1.2
cyclinD             2 0.75  1.2    2  0.38  0.62     1           2        0.62
cyclinD_2           2 0.75  1.2    2  0.38  0.62     1           3        0.88
BCL2                2 0.75  1.2    2  0.38  0.62     1           3        0.25
CDK46               1    0    1    0     0     1     0           2        0.62
cycD_CDK46          4  2.4  1.6    2  0.61  0.39   0.5           3        0.38
cycD_CDK46_2        3  1.8  1.2    3  0.58  0.42     1           4           1
pRb                 5  3.9  1.1    5  0.78  0.23     1           3        0.69
pRb_2               5  3.4  1.6  2.8  0.68  0.33  0.57           4         0.5
pRb_3               4  2.8  1.2    4   0.7   0.3     1           3        0.94
E2F                 3  1.8  1.2    3  0.58  0.42     1           4        0.94
E2F_2               3  1.5  1.5  1.3   0.5   0.5  0.44           6         1.4
E2F_3               5  3.6  1.4  1.4  0.71  0.29  0.27           8         2.9
Proliferation       4  2.8  1.2    4   0.7   0.3     1           0           0
Proliferation_2     3  1.8  1.2    3  0.58  0.42     1           0           0
Proliferation_3     3  1.5  1.5  1.3   0.5   0.5  0.44           0           0
Proliferation_4     2 0.75  1.2    2  0.38  0.62     1           0           0
Apoptosis           5  3.2  1.8  2.7  0.65  0.35  0.53           1        0.38
Apoptosis_2         5  3.4  1.6  2.1  0.68  0.33  0.42           1        0.81
Apoptosis_3         5  3.4  1.6  2.2  0.69  0.31  0.45           1        0.94

[80 rows x 9 columns]

In [15]:
fig, ax = plt.subplots(1,1,figsize=(6,5), sharex=True, sharey=True)
dfp = df.loc[ (df['k']>1) , :]
ax.scatter(dfp['k_r*'],dfp['k_s*'], s=50, c='red', marker='o', zorder=2)
lx,ly = [],[]
quadrants = [-0.035,0.035]
for name, dfp_ in dfp.iterrows():
    x,y = dfp_['k_r*']+random.choice(quadrants) , dfp_['k_s*']+random.choice(quadrants)
    ax.annotate(name, (x,y),fontsize=12, va='center', ha='center')
    lx.append(x); ly.append(y)
ax.plot((0,1),(0,1),'black', lw=2,alpha=0.25, zorder=1)
ax.grid(True)
ax.set_xlim(-0.05,1.05)
ax.set_ylim(-0.05,1.05)
ax.set_xlabel('$k_r^*$')
ax.set_ylabel('$k_s^*$')
#plt.savefig('../experiments/2017 - BioModels/%s/plots/k_sn_vs_k_rn.pdf' % (foldername), dpi=150)


Out[15]:
<matplotlib.text.Text at 0x18577cc0>

In [347]:
#df = df.loc[ (df['k']>1) , :]
#print df.sort_values('k',ascending=False).to_latex()
"""
multi_column_display([
        df[['k']].sort_values('k',ascending=False).to_html(),
        df[['k_r']].sort_values('k_r',ascending=False).to_html(),
        df[['k_e']].sort_values('k_e',ascending=False).to_html(),
        df[['k_s']].sort_values('k_s',ascending=False).to_html(),
        df[['k_r*']].sort_values('k_r*',ascending=False).to_html(),
        df[['k_e*']].sort_values('k_e*',ascending=False).to_html(),
        df[['k_s*']].sort_values('k_s*',ascending=False).to_html(),
        df[['k_e(out-d)']].sort_values('k_e(out-d)',ascending=False).to_html(),
        df[['k_e(out-s)']].sort_values('k_e(out-s)',ascending=False).to_html()
    ],['k','k_r','k_e','k_s','k_r*','k_e*','k_s*','k_e(out-d)','k_e(out-s)'],7 )
"""


Out[347]:
"\nmulti_column_display([\n        df[['k']].sort_values('k',ascending=False).to_html(),\n        df[['k_r']].sort_values('k_r',ascending=False).to_html(),\n        df[['k_e']].sort_values('k_e',ascending=False).to_html(),\n        df[['k_s']].sort_values('k_s',ascending=False).to_html(),\n        df[['k_r*']].sort_values('k_r*',ascending=False).to_html(),\n        df[['k_e*']].sort_values('k_e*',ascending=False).to_html(),\n        df[['k_s*']].sort_values('k_s*',ascending=False).to_html(),\n        df[['k_e(out-d)']].sort_values('k_e(out-d)',ascending=False).to_html(),\n        df[['k_e(out-s)']].sort_values('k_e(out-s)',ascending=False).to_html()\n    ],['k','k_r','k_e','k_s','k_r*','k_e*','k_s*','k_e(out-d)','k_e(out-s)'],7 )\n"

In [16]:
bound = 'upper'
for i,n in enumerate(N.nodes):
    display(HTML('<h2>'+n.name+'</h2>'))
    print 'Inputs:',n.inputs
    k = n.k
    k_r = n.input_redundancy(mode='node',bound=bound,norm=False)
    k_r_n = n.input_redundancy(mode='node',bound=bound,norm=True)
    k_e = n.effective_connectivity(mode='node', bound=bound, norm=False)
    k_s = n.input_symmetry(mode='node',bound=bound,norm=False)
    k_s_n = n.input_symmetry(mode='node',bound=bound,norm=True)
    
    dfS = pd.DataFrame([('k',k),('k_r',k_r),('k_e',k_e),('k_s',k_s),('k_r*',k_r_n),('k_s*',k_s_n)]).set_index(0).T
    #display(dfS)
    
    pi = n.schemata_look_up_table(type='pi',format='latex', ts_symbol_latex="\circ")
    ts = n.schemata_look_up_table(type='ts',format='latex', ts_symbol_latex="\circ")
    #display(Latex(pi))
    #display(Latex(ts))
    #multi_column_display([pi,ts],titles=['Prime Implicants','Two-Symbol Schemtas'],cols=4)

    # to make sure each SVG renders independently, add the "metadata={'isolated':True}
    CM = n.canalizing_map()
    gv = draw_canalizing_map_graphviz(CM)
    print CM
    display(SVG(gv.pipe(format='svg')),metadata={'isolated':True})

    # Export to .SVG
    filename = n.name
    filename = filename.replace(',','_')
    filename = filename.replace('/','_')
    gv._format = 'svg'
    efile = u'%s/../experiments/2017 - BioModels/%s/CM/%s-%s' % (os.getcwd(),foldername,i,filename)
    gv.render(efile, cleanup=True)
    subprocess.call("inkscape -z -d 150 '%s.svg' -e '%s.png'" % (efile,efile) , shell=True)

    #break


IGF1R_T

Inputs: ['IGF1R_T']
CM: IGF1R_T
%3 IGF1R_T-0 IGF1R_T T-0_IGF1R_T-0 1 IGF1R_T-0->T-0_IGF1R_T-0 IGF1R_T-1 IGF1R_T T-1_IGF1R_T-1 1 IGF1R_T-1->T-1_IGF1R_T-1 T-1_IGF1R_T-1->IGF1R_T-1 T-0_IGF1R_T-0->IGF1R_T-0

IGF1R

Inputs: ['IGF1R_T', 'IGF1R_2', 'HER2', 'FOXO3']
CM: IGF1R
%3 IGF1R_T-0 IGF1R_T T-0_IGF1R-0 3 IGF1R_T-0->T-0_IGF1R-0 F-0_T-0_IGF1R-0 F-0_T-0_IGF1R-0->T-0_IGF1R-0 IGF1R_2-0 IGF1R_2 IGF1R_2-0->T-0_IGF1R-0 IGF1R_2-1 IGF1R_2 F-0_T-1_IGF1R-1 IGF1R_2-1->F-0_T-1_IGF1R-1 FOXO3-1 FOXO3 T-2_IGF1R-1 2 FOXO3-1->T-2_IGF1R-1 T-1_IGF1R-1 1 IGF1R-1 IGF1R T-1_IGF1R-1->IGF1R-1 FOXO3-0 FOXO3 FOXO3-0->F-0_T-0_IGF1R-0 IGF1R-0 IGF1R T-0_IGF1R-0->IGF1R-0 IGF1R_T-1 IGF1R_T IGF1R_T-1->F-0_T-1_IGF1R-1 T-2_IGF1R-1->IGF1R-1 HER2-1 HER2 HER2-1->T-2_IGF1R-1 HER2-0 HER2 HER2-0->F-0_T-0_IGF1R-0 F-0_T-1_IGF1R-1->T-1_IGF1R-1

IGF1R_2

Inputs: ['IGF1R_T', 'IGF1R', 'HER2', 'FOXO3', 'S6K']
CM: IGF1R_2
%3 IGF1R_T-0 IGF1R_T T-0_IGF1R_2-0 2 IGF1R_T-0->T-0_IGF1R_2-0 FOXO3-0 FOXO3 F-0_T-0_IGF1R_2-0 FOXO3-0->F-0_T-0_IGF1R_2-0 IGF1R_2-0 IGF1R_2 IGF1R_2-1 IGF1R_2 FOXO3-1 FOXO3 T-3_IGF1R_2-1 4 FOXO3-1->T-3_IGF1R_2-1 T-4_IGF1R_2-1 3 T-4_IGF1R_2-1->IGF1R_2-1 F-0_T-0_IGF1R_2-0->T-0_IGF1R_2-0 S6K-1 S6K T-2_IGF1R_2-0 1 S6K-1->T-2_IGF1R_2-0 T-0_IGF1R_2-0->IGF1R_2-0 T-2_IGF1R_2-0->IGF1R_2-0 IGF1R_T-1 IGF1R_T IGF1R_T-1->T-4_IGF1R_2-1 S6K-0 S6K S6K-0->T-4_IGF1R_2-1 S6K-0->T-3_IGF1R_2-1 T-3_IGF1R_2-1->IGF1R_2-1 T-1_IGF1R_2-0 1 T-1_IGF1R_2-0->IGF1R_2-0 HER2-0 HER2 HER2-0->F-0_T-0_IGF1R_2-0 HER2-1 HER2 HER2-1->T-3_IGF1R_2-1 IGF1R-1 IGF1R IGF1R-1->T-4_IGF1R_2-1 IGF1R-1->T-3_IGF1R_2-1 IGF1R-0 IGF1R IGF1R-0->T-1_IGF1R_2-0

Fulvestrant

Inputs: ['Fulvestrant']
CM: Fulvestrant
%3 Fulvestrant-0 Fulvestrant T-0_Fulvestrant-0 1 Fulvestrant-0->T-0_Fulvestrant-0 Fulvestrant-1 Fulvestrant T-1_Fulvestrant-1 1 Fulvestrant-1->T-1_Fulvestrant-1 T-0_Fulvestrant-0->Fulvestrant-0 T-1_Fulvestrant-1->Fulvestrant-1

Alpelisib

Inputs: ['Alpelisib']
CM: Alpelisib
%3 T-0_Alpelisib-0 1 Alpelisib-0 Alpelisib T-0_Alpelisib-0->Alpelisib-0 T-1_Alpelisib-1 1 Alpelisib-1 Alpelisib T-1_Alpelisib-1->Alpelisib-1 Alpelisib-1->T-1_Alpelisib-1 Alpelisib-0->T-0_Alpelisib-0

Everolimus

Inputs: ['Everolimus']
CM: Everolimus
%3 T-1_Everolimus-1 1 Everolimus-1 Everolimus T-1_Everolimus-1->Everolimus-1 Everolimus-0 Everolimus T-0_Everolimus-0 1 Everolimus-0->T-0_Everolimus-0 Everolimus-1->T-1_Everolimus-1 T-0_Everolimus-0->Everolimus-0

Trametinib

Inputs: ['Trametinib']
CM: Trametinib
%3 T-1_Trametinib-1 1 Trametinib-1 Trametinib T-1_Trametinib-1->Trametinib-1 T-0_Trametinib-0 1 Trametinib-0 Trametinib T-0_Trametinib-0->Trametinib-0 Trametinib-0->T-0_Trametinib-0 Trametinib-1->T-1_Trametinib-1

Ipatasertib

Inputs: ['Ipatasertib']
CM: Ipatasertib
%3 Ipatasertib-0 Ipatasertib T-0_Ipatasertib-0 1 Ipatasertib-0->T-0_Ipatasertib-0 Ipatasertib-1 Ipatasertib T-1_Ipatasertib-1 1 Ipatasertib-1->T-1_Ipatasertib-1 T-0_Ipatasertib-0->Ipatasertib-0 T-1_Ipatasertib-1->Ipatasertib-1

Palbociclib

Inputs: ['Palbociclib']
CM: Palbociclib
%3 Palbociclib-0 Palbociclib T-0_Palbociclib-0 1 Palbociclib-0->T-0_Palbociclib-0 Palbociclib-1 Palbociclib T-1_Palbociclib-1 1 Palbociclib-1->T-1_Palbociclib-1 T-0_Palbociclib-0->Palbociclib-0 T-1_Palbociclib-1->Palbociclib-1

Neratinib

Inputs: ['Neratinib']
CM: Neratinib
%3 T-1_Neratinib-1 1 Neratinib-1 Neratinib T-1_Neratinib-1->Neratinib-1 Neratinib-0 Neratinib T-0_Neratinib-0 1 Neratinib-0->T-0_Neratinib-0 Neratinib-1->T-1_Neratinib-1 T-0_Neratinib-0->Neratinib-0

HER2

Inputs: ['HER2']
CM: HER2
%3 HER2-0 HER2 T-0_HER2-0 1 HER2-0->T-0_HER2-0 HER2-1 HER2 T-1_HER2-1 1 HER2-1->T-1_HER2-1 T-1_HER2-1->HER2-1 T-0_HER2-0->HER2-0

HER3_T

Inputs: ['HER3_T']
CM: HER3_T
%3 T-1_HER3_T-1 1 HER3_T-1 HER3_T T-1_HER3_T-1->HER3_T-1 T-0_HER3_T-0 1 HER3_T-0 HER3_T T-0_HER3_T-0->HER3_T-0 HER3_T-0->T-0_HER3_T-0 HER3_T-1->T-1_HER3_T-1

HER3

Inputs: ['HER3_T', 'HER3_2', 'FOXO3']
CM: HER3
%3 FOXO3-1 FOXO3 F-0_T-1_HER3-1 FOXO3-1->F-0_T-1_HER3-1 FOXO3-0 FOXO3 T-0_HER3-0 3 FOXO3-0->T-0_HER3-0 HER3_2-0 HER3_2 HER3_2-0->T-0_HER3-0 HER3_2-1 HER3_2 HER3_2-1->F-0_T-1_HER3-1 T-1_HER3-1 1 HER3-1 HER3 T-1_HER3-1->HER3-1 F-0_T-1_HER3-1->T-1_HER3-1 HER3_T-0 HER3_T HER3_T-0->T-0_HER3-0 HER3_T-1 HER3_T HER3_T-1->F-0_T-1_HER3-1 HER3-0 HER3 T-0_HER3-0->HER3-0

HER3_2

Inputs: ['HER3', 'FOXO3']
CM: HER3_2
%3 FOXO3-1 FOXO3 T-1_HER3_2-1 2 FOXO3-1->T-1_HER3_2-1 FOXO3-0 FOXO3 F-0_T-0_HER3_2-0 FOXO3-0->F-0_T-0_HER3_2-0 HER3_2-0 HER3_2 HER3_2-1 HER3_2 T-1_HER3_2-1->HER3_2-1 T-0_HER3_2-0 1 F-0_T-0_HER3_2-0->T-0_HER3_2-0 T-0_HER3_2-0->HER3_2-0 HER3-1 HER3 HER3-1->T-1_HER3_2-1 HER3-0 HER3 HER3-0->F-0_T-0_HER3_2-0

PDK1

Inputs: ['PDK1']
CM: PDK1
%3 PDK1-1 PDK1 T-1_PDK1-1 1 PDK1-1->T-1_PDK1-1 PDK1-0 PDK1 T-0_PDK1-0 1 PDK1-0->T-0_PDK1-0 T-1_PDK1-1->PDK1-1 T-0_PDK1-0->PDK1-0

mTORC2

Inputs: ['Everolimus', 'mTORC2']
CM: mTORC2
%3 Everolimus-0 Everolimus T-2_mTORC2-1 2 Everolimus-0->T-2_mTORC2-1 mTORC2-1 mTORC2 T-2_mTORC2-1->mTORC2-1 T-0_mTORC2-0 1 mTORC2-0 mTORC2 T-0_mTORC2-0->mTORC2-0 Everolimus-1 Everolimus Everolimus-1->T-0_mTORC2-0 T-1_mTORC2-0 1 T-1_mTORC2-0->mTORC2-0 mTORC2-0->T-1_mTORC2-0 mTORC2-1->T-2_mTORC2-1

SGK1_T

Inputs: ['SGK1_T']
CM: SGK1_T
%3 SGK1_T-0 SGK1_T T-0_SGK1_T-0 1 SGK1_T-0->T-0_SGK1_T-0 SGK1_T-1 SGK1_T T-1_SGK1_T-1 1 SGK1_T-1->T-1_SGK1_T-1 T-0_SGK1_T-0->SGK1_T-0 T-1_SGK1_T-1->SGK1_T-1

SGK1

Inputs: ['PDK1', 'mTORC2', 'SGK1_T']
CM: SGK1
%3 PDK1-1 PDK1 T-1_SGK1-1 3 PDK1-1->T-1_SGK1-1 PDK1-0 PDK1 F-0_T-0_SGK1-0 PDK1-0->F-0_T-0_SGK1-0 SGK1_T-0 SGK1_T SGK1_T-0->F-0_T-0_SGK1-0 T-0_SGK1-0 1 SGK1-0 SGK1 T-0_SGK1-0->SGK1-0 SGK1-1 SGK1 T-1_SGK1-1->SGK1-1 SGK1_T-1 SGK1_T SGK1_T-1->T-1_SGK1-1 F-0_T-0_SGK1-0->T-0_SGK1-0 mTORC2-0 mTORC2 mTORC2-0->F-0_T-0_SGK1-0 mTORC2-1 mTORC2 mTORC2-1->T-1_SGK1-1

PIM

Inputs: ['PIM']
CM: PIM
%3 PIM-0 PIM T-0_PIM-0 1 PIM-0->T-0_PIM-0 PIM-1 PIM T-1_PIM-1 1 PIM-1->T-1_PIM-1 T-1_PIM-1->PIM-1 T-0_PIM-0->PIM-0

HER2_3

Inputs: ['Neratinib', 'HER2', 'HER3', 'HER3_2', 'HER2_3_2']
CM: HER2_3
%3 T-4_HER2_3-1 1 HER2_3-1 HER2_3 T-4_HER2_3-1->HER2_3-1 HER3_2-0 HER3_2 T-0_HER2_3-0 3 HER3_2-0->T-0_HER2_3-0 HER2_3_2-0 HER2_3_2 HER2_3_2-0->T-0_HER2_3-0 T-1_HER2_3-0 2 HER2_3_2-0->T-1_HER2_3-0 T-2_HER2_3-0 2 HER2_3_2-0->T-2_HER2_3-0 Neratinib-1 Neratinib Neratinib-1->T-2_HER2_3-0 Neratinib-0 Neratinib T-3_HER2_3-1 3 Neratinib-0->T-3_HER2_3-1 HER2_3-0 HER2_3 T-0_HER2_3-0->HER2_3-0 HER3-0 HER3 HER3-0->T-0_HER2_3-0 HER3_2-1 HER3_2 F-0_T-3_HER2_3-1 HER3_2-1->F-0_T-3_HER2_3-1 HER2_3_2-1 HER2_3_2 HER2_3_2-1->T-4_HER2_3-1 T-3_HER2_3-1->HER2_3-1 HER2-1 HER2 HER2-1->T-3_HER2_3-1 HER2-0 HER2 HER2-0->T-1_HER2_3-0 T-1_HER2_3-0->HER2_3-0 F-0_T-3_HER2_3-1->T-3_HER2_3-1 T-2_HER2_3-0->HER2_3-0 HER3-1 HER3 HER3-1->F-0_T-3_HER2_3-1

HER2_3_2

Inputs: ['Neratinib', 'HER2', 'HER3', 'HER3_2', 'HER2_3', 'MAPK_2']
CM: HER2_3_2
%3 MAPK_2-1 MAPK_2 T-1_HER2_3_2-0 2 MAPK_2-1->T-1_HER2_3_2-0 HER2_3_2-1 HER2_3_2 HER2_3_2-0 HER2_3_2 Neratinib-1 Neratinib T-3_HER2_3_2-0 1 Neratinib-1->T-3_HER2_3_2-0 Neratinib-0 Neratinib T-5_HER2_3_2-1 4 Neratinib-0->T-5_HER2_3_2-1 T-4_HER2_3_2-1 5 Neratinib-0->T-4_HER2_3_2-1 T-3_HER2_3_2-0->HER2_3_2-0 T-0_HER2_3_2-0 1 T-0_HER2_3_2-0->HER2_3_2-0 T-5_HER2_3_2-1->HER2_3_2-1 F-0_T-0_HER2_3_2-0 F-0_T-0_HER2_3_2-0->T-0_HER2_3_2-0 T-1_HER2_3_2-0->HER2_3_2-0 MAPK_2-0 MAPK_2 MAPK_2-0->T-4_HER2_3_2-1 HER3_2-1 HER3_2 HER3_2-1->T-5_HER2_3_2-1 HER2_3-1 HER2_3 HER2_3-1->T-5_HER2_3_2-1 HER2_3-1->T-4_HER2_3_2-1 T-2_HER2_3_2-0 2 T-2_HER2_3_2-0->HER2_3_2-0 T-4_HER2_3_2-1->HER2_3_2-1 HER2-1 HER2 HER2-1->T-5_HER2_3_2-1 HER2-1->T-4_HER2_3_2-1 HER2-0 HER2 HER2-0->F-0_T-0_HER2_3_2-0 HER3_2-0 HER3_2 HER3_2-0->T-1_HER2_3_2-0 HER3_2-0->T-2_HER2_3_2-0 HER2_3-0 HER2_3 HER2_3-0->F-0_T-0_HER2_3_2-0 HER3-0 HER3 HER3-0->T-2_HER2_3_2-0 HER3-1 HER3 HER3-1->T-4_HER2_3_2-1

RAS

Inputs: ['IGF1R', 'IGF1R_2', 'HER2_3', 'HER2_3_2', 'RAS_2', 'RAS_3']
CM: RAS
%3 IGF1R_2-0 IGF1R_2 T-0_RAS-0 6 IGF1R_2-0->T-0_RAS-0 IGF1R_2-1 IGF1R_2 F-0_T-1_RAS-1 IGF1R_2-1->F-0_T-1_RAS-1 HER2_3_2-1 HER2_3_2 HER2_3_2-1->F-0_T-1_RAS-1 HER2_3_2-0 HER2_3_2 HER2_3_2-0->T-0_RAS-0 T-1_RAS-1 1 RAS-1 RAS T-1_RAS-1->RAS-1 RAS_3-1 RAS_3 RAS_3-1->F-0_T-1_RAS-1 F-0_T-1_RAS-1->T-1_RAS-1 RAS_2-1 RAS_2 RAS_2-1->F-0_T-1_RAS-1 RAS_2-0 RAS_2 RAS_2-0->T-0_RAS-0 RAS_3-0 RAS_3 RAS_3-0->T-0_RAS-0 IGF1R-1 IGF1R IGF1R-1->F-0_T-1_RAS-1 RAS-0 RAS HER2_3-0 HER2_3 HER2_3-0->T-0_RAS-0 HER2_3-1 HER2_3 HER2_3-1->F-0_T-1_RAS-1 T-0_RAS-0->RAS-0 IGF1R-0 IGF1R IGF1R-0->T-0_RAS-0

RAS_2

Inputs: ['HER2_3', 'HER2_3_2', 'RAS', 'RAS_3']
CM: RAS_2
%3 T-2_RAS_2-1 2 RAS_2-1 RAS_2 T-2_RAS_2-1->RAS_2-1 HER2_3_2-1 HER2_3_2 F-0_T-2_RAS_2-1 HER2_3_2-1->F-0_T-2_RAS_2-1 HER2_3_2-0 HER2_3_2 T-1_RAS_2-0 3 HER2_3_2-0->T-1_RAS_2-0 T-3_RAS_2-1 1 T-3_RAS_2-1->RAS_2-1 F-0_T-2_RAS_2-1->T-2_RAS_2-1 RAS_2-0 RAS_2 T-1_RAS_2-0->RAS_2-0 RAS_3-0 RAS_3 RAS_3-0->T-1_RAS_2-0 T-0_RAS_2-0 2 RAS_3-0->T-0_RAS_2-0 RAS_3-1 RAS_3 RAS_3-1->T-3_RAS_2-1 RAS-0 RAS RAS-0->T-0_RAS_2-0 RAS-1 RAS RAS-1->T-2_RAS_2-1 T-0_RAS_2-0->RAS_2-0 HER2_3-0 HER2_3 HER2_3-0->T-1_RAS_2-0 HER2_3-1 HER2_3 HER2_3-1->F-0_T-2_RAS_2-1

RAS_3

Inputs: ['HER2_3_2', 'RAS', 'RAS_2']
CM: RAS_3
%3 F-0_T-0_RAS_3-0 T-0_RAS_3-0 1 F-0_T-0_RAS_3-0->T-0_RAS_3-0 HER2_3_2-1 HER2_3_2 T-1_RAS_3-1 3 HER2_3_2-1->T-1_RAS_3-1 HER2_3_2-0 HER2_3_2 HER2_3_2-0->F-0_T-0_RAS_3-0 RAS_3-1 RAS_3 T-1_RAS_3-1->RAS_3-1 RAS_3-0 RAS_3 T-0_RAS_3-0->RAS_3-0 RAS_2-1 RAS_2 RAS_2-1->T-1_RAS_3-1 RAS_2-0 RAS_2 RAS_2-0->F-0_T-0_RAS_3-0 RAS-0 RAS RAS-0->F-0_T-0_RAS_3-0 RAS-1 RAS RAS-1->T-1_RAS_3-1

MAPK

Inputs: ['Trametinib', 'RAS', 'RAS_2', 'RAS_3', 'MAPK_2', 'PIP3', 'PIP3_2']
CM: MAPK
%3 F-1_T-3_MAPK-1 T-3_MAPK-1 3 F-1_T-3_MAPK-1->T-3_MAPK-1 F-0_T-4_MAPK-1 T-4_MAPK-1 2 F-0_T-4_MAPK-1->T-4_MAPK-1 RAS_2-1 RAS_2 RAS_2-1->F-1_T-3_MAPK-1 F-0_T-3_MAPK-1 RAS_2-1->F-0_T-3_MAPK-1 RAS_2-0 RAS_2 T-0_MAPK-0 4 RAS_2-0->T-0_MAPK-0 RAS_3-0 RAS_3 T-1_MAPK-0 3 RAS_3-0->T-1_MAPK-0 RAS_3-0->T-0_MAPK-0 RAS_3-1 RAS_3 RAS_3-1->T-4_MAPK-1 T-5_MAPK-1 1 MAPK-1 MAPK T-5_MAPK-1->MAPK-1 PIP3-1 PIP3 PIP3-1->F-1_T-3_MAPK-1 PIP3-1->F-0_T-4_MAPK-1 PIP3-1->F-0_T-3_MAPK-1 PIP3-0 PIP3 T-2_MAPK-0 3 PIP3-0->T-2_MAPK-0 T-3_MAPK-1->MAPK-1 MAPK-0 MAPK T-1_MAPK-0->MAPK-0 T-2_MAPK-0->MAPK-0 Trametinib-0 Trametinib Trametinib-0->T-3_MAPK-1 Trametinib-1 Trametinib Trametinib-1->T-1_MAPK-0 RAS-0 RAS RAS-0->T-0_MAPK-0 RAS-1 RAS RAS-1->F-1_T-3_MAPK-1 RAS-1->F-0_T-3_MAPK-1 T-0_MAPK-0->MAPK-0 PIP3_2-0 PIP3_2 PIP3_2-0->T-2_MAPK-0 PIP3_2-1 PIP3_2 PIP3_2-1->F-1_T-3_MAPK-1 PIP3_2-1->F-0_T-4_MAPK-1 PIP3_2-1->F-0_T-3_MAPK-1 MAPK_2-1 MAPK_2 MAPK_2-1->T-5_MAPK-1 MAPK_2-0 MAPK_2 MAPK_2-0->T-1_MAPK-0 MAPK_2-0->T-2_MAPK-0 MAPK_2-0->T-0_MAPK-0 F-0_T-3_MAPK-1->T-3_MAPK-1 T-4_MAPK-1->MAPK-1

MAPK_2

Inputs: ['Trametinib', 'RAS_2', 'RAS_3', 'MAPK', 'PIP3', 'PIP3_2']
CM: MAPK_2
%3 F-0_T-3_MAPK_2-1 T-3_MAPK_2-1 4 F-0_T-3_MAPK_2-1->T-3_MAPK_2-1 RAS_2-1 RAS_2 RAS_2-1->T-3_MAPK_2-1 RAS_2-0 RAS_2 F-1_T-0_MAPK_2-0 RAS_2-0->F-1_T-0_MAPK_2-0 F-0_T-0_MAPK_2-0 RAS_2-0->F-0_T-0_MAPK_2-0 RAS_3-0 RAS_3 RAS_3-0->F-1_T-0_MAPK_2-0 RAS_3-0->F-0_T-0_MAPK_2-0 T-2_MAPK_2-0 2 RAS_3-0->T-2_MAPK_2-0 RAS_3-1 RAS_3 T-4_MAPK_2-1 3 RAS_3-1->T-4_MAPK_2-1 T-0_MAPK_2-0 2 MAPK_2-0 MAPK_2 T-0_MAPK_2-0->MAPK_2-0 F-1_T-0_MAPK_2-0->T-0_MAPK_2-0 F-0_T-0_MAPK_2-0->T-0_MAPK_2-0 MAPK_2-1 MAPK_2 T-4_MAPK_2-1->MAPK_2-1 T-1_MAPK_2-0 1 T-1_MAPK_2-0->MAPK_2-0 F-0_T-4_MAPK_2-1 F-0_T-4_MAPK_2-1->T-4_MAPK_2-1 PIP3-1 PIP3 PIP3-1->F-0_T-3_MAPK_2-1 PIP3-1->F-0_T-4_MAPK_2-1 PIP3-0 PIP3 PIP3-0->F-1_T-0_MAPK_2-0 PIP3-0->F-0_T-0_MAPK_2-0 T-2_MAPK_2-0->MAPK_2-0 MAPK-0 MAPK MAPK-0->T-1_MAPK_2-0 MAPK-1 MAPK MAPK-1->T-4_MAPK_2-1 MAPK-1->T-3_MAPK_2-1 Trametinib-0 Trametinib Trametinib-0->T-3_MAPK_2-1 Trametinib-1 Trametinib Trametinib-1->T-2_MAPK_2-0 PIP3_2-0 PIP3_2 PIP3_2-0->F-1_T-0_MAPK_2-0 PIP3_2-0->F-0_T-0_MAPK_2-0 PIP3_2-1 PIP3_2 PIP3_2-1->F-0_T-3_MAPK_2-1 PIP3_2-1->F-0_T-4_MAPK_2-1 T-3_MAPK_2-1->MAPK_2-1

PI3K

Inputs: ['IGF1R', 'IGF1R_2', 'Alpelisib', 'HER2_3', 'HER2_3_2', 'RAS', 'RAS_2', 'RAS_3', 'PI3K_2']
CM: PI3K
%3 F-0_T-2_PI3K-1 T-2_PI3K-1 2 F-0_T-2_PI3K-1->T-2_PI3K-1 PI3K-1 PI3K T-2_PI3K-1->PI3K-1 RAS_2-1 RAS_2 RAS_2-1->F-0_T-2_PI3K-1 RAS_2-0 RAS_2 T-0_PI3K-0 8 RAS_2-0->T-0_PI3K-0 RAS_3-0 RAS_3 RAS_3-0->T-0_PI3K-0 RAS_3-1 RAS_3 RAS_3-1->F-0_T-2_PI3K-1 HER2_3-0 HER2_3 HER2_3-0->T-0_PI3K-0 HER2_3-1 HER2_3 HER2_3-1->F-0_T-2_PI3K-1 IGF1R-1 IGF1R IGF1R-1->F-0_T-2_PI3K-1 IGF1R-0 IGF1R IGF1R-0->T-0_PI3K-0 HER2_3_2-1 HER2_3_2 F-0_T-3_PI3K-1 HER2_3_2-1->F-0_T-3_PI3K-1 HER2_3_2-0 HER2_3_2 HER2_3_2-0->T-0_PI3K-0 T-1_PI3K-0 3 HER2_3_2-0->T-1_PI3K-0 T-3_PI3K-1 1 T-3_PI3K-1->PI3K-1 IGF1R_2-0 IGF1R_2 IGF1R_2-0->T-0_PI3K-0 IGF1R_2-1 IGF1R_2 IGF1R_2-1->F-0_T-2_PI3K-1 Alpelisib-1 Alpelisib Alpelisib-1->T-1_PI3K-0 Alpelisib-0 Alpelisib Alpelisib-0->T-2_PI3K-1 PI3K_2-1 PI3K_2 PI3K_2-1->F-0_T-3_PI3K-1 PI3K_2-0 PI3K_2 PI3K_2-0->T-0_PI3K-0 PI3K_2-0->T-1_PI3K-0 PI3K-0 PI3K T-0_PI3K-0->PI3K-0 RAS-0 RAS RAS-0->T-0_PI3K-0 RAS-1 RAS RAS-1->F-0_T-2_PI3K-1 F-0_T-3_PI3K-1->T-3_PI3K-1 T-1_PI3K-0->PI3K-0

PI3K_2

Inputs: ['Alpelisib', 'HER2_3_2', 'PI3K']
CM: PI3K_2
%3 T-0_PI3K_2-0 1 PI3K_2-0 PI3K_2 T-0_PI3K_2-0->PI3K_2-0 HER2_3_2-1 HER2_3_2 T-2_PI3K_2-1 3 HER2_3_2-1->T-2_PI3K_2-1 HER2_3_2-0 HER2_3_2 F-0_T-0_PI3K_2-0 HER2_3_2-0->F-0_T-0_PI3K_2-0 Alpelisib-1 Alpelisib T-1_PI3K_2-0 1 Alpelisib-1->T-1_PI3K_2-0 Alpelisib-0 Alpelisib Alpelisib-0->T-2_PI3K_2-1 PI3K_2-1 PI3K_2 T-2_PI3K_2-1->PI3K_2-1 F-0_T-0_PI3K_2-0->T-0_PI3K_2-0 T-1_PI3K_2-0->PI3K_2-0 PI3K-0 PI3K PI3K-0->F-0_T-0_PI3K_2-0 PI3K-1 PI3K PI3K-1->T-2_PI3K_2-1

PTEN

Inputs: ['PTEN']
CM: PTEN
%3 PTEN-0 PTEN T-0_PTEN-0 1 PTEN-0->T-0_PTEN-0 PTEN-1 PTEN T-1_PTEN-1 1 PTEN-1->T-1_PTEN-1 T-0_PTEN-0->PTEN-0 T-1_PTEN-1->PTEN-1

PIP3

Inputs: ['PI3K', 'PI3K_2', 'PTEN', 'PIP3_2']
CM: PIP3
%3 PTEN-0 PTEN T-2_PIP3-1 2 PTEN-0->T-2_PIP3-1 PTEN-1 PTEN T-1_PIP3-0 2 PTEN-1->T-1_PIP3-0 T-0_PIP3-0 3 PIP3-0 PIP3 T-0_PIP3-0->PIP3-0 PIP3_2-0 PIP3_2 PIP3_2-0->T-0_PIP3-0 PIP3_2-0->T-1_PIP3-0 PIP3_2-1 PIP3_2 T-3_PIP3-1 1 PIP3_2-1->T-3_PIP3-1 T-1_PIP3-0->PIP3-0 PI3K_2-0 PI3K_2 PI3K_2-0->T-0_PIP3-0 F-0_T-2_PIP3-1 F-0_T-2_PIP3-1->T-2_PIP3-1 PI3K_2-1 PI3K_2 PI3K_2-1->F-0_T-2_PIP3-1 PIP3-1 PIP3 T-2_PIP3-1->PIP3-1 PI3K-0 PI3K PI3K-0->T-0_PIP3-0 PI3K-1 PI3K PI3K-1->F-0_T-2_PIP3-1 T-3_PIP3-1->PIP3-1

PIP3_2

Inputs: ['PI3K_2', 'PTEN', 'PIP3']
CM: PIP3_2
%3 PTEN-0 PTEN T-2_PIP3_2-1 3 PTEN-0->T-2_PIP3_2-1 PTEN-1 PTEN T-1_PIP3_2-0 1 PTEN-1->T-1_PIP3_2-0 PIP3_2-1 PIP3_2 T-2_PIP3_2-1->PIP3_2-1 T-0_PIP3_2-0 1 PIP3_2-0 PIP3_2 T-0_PIP3_2-0->PIP3_2-0 PI3K_2-1 PI3K_2 PI3K_2-1->T-2_PIP3_2-1 PI3K_2-0 PI3K_2 F-0_T-0_PIP3_2-0 PI3K_2-0->F-0_T-0_PIP3_2-0 T-1_PIP3_2-0->PIP3_2-0 PIP3-1 PIP3 PIP3-1->T-2_PIP3_2-1 PIP3-0 PIP3 PIP3-0->F-0_T-0_PIP3_2-0 F-0_T-0_PIP3_2-0->T-0_PIP3_2-0

PDK1_pm

Inputs: ['PIP3', 'PIP3_2']
CM: PDK1_pm
%3 T-0_PDK1_pm-0 2 PDK1_pm-0 PDK1_pm T-0_PDK1_pm-0->PDK1_pm-0 PDK1_pm-1 PDK1_pm PIP3_2-0 PIP3_2 PIP3_2-0->T-0_PDK1_pm-0 PIP3_2-1 PIP3_2 F-0_T-1_PDK1_pm-1 PIP3_2-1->F-0_T-1_PDK1_pm-1 T-1_PDK1_pm-1 1 F-0_T-1_PDK1_pm-1->T-1_PDK1_pm-1 PIP3-1 PIP3 PIP3-1->F-0_T-1_PDK1_pm-1 PIP3-0 PIP3 PIP3-0->T-0_PDK1_pm-0 T-1_PDK1_pm-1->PDK1_pm-1

mTORC2_pm

Inputs: ['Everolimus', 'PIP3', 'PIP3_2']
CM: mTORC2_pm
%3 mTORC2_pm-1 mTORC2_pm mTORC2_pm-0 mTORC2_pm PIP3_2-0 PIP3_2 T-0_mTORC2_pm-0 2 PIP3_2-0->T-0_mTORC2_pm-0 PIP3_2-1 PIP3_2 F-0_T-2_mTORC2_pm-1 PIP3_2-1->F-0_T-2_mTORC2_pm-1 Everolimus-1 Everolimus T-1_mTORC2_pm-0 1 Everolimus-1->T-1_mTORC2_pm-0 T-1_mTORC2_pm-0->mTORC2_pm-0 PIP3-1 PIP3 PIP3-1->F-0_T-2_mTORC2_pm-1 PIP3-0 PIP3 PIP3-0->T-0_mTORC2_pm-0 T-2_mTORC2_pm-1 2 F-0_T-2_mTORC2_pm-1->T-2_mTORC2_pm-1 Everolimus-0 Everolimus Everolimus-0->T-2_mTORC2_pm-1 T-0_mTORC2_pm-0->mTORC2_pm-0 T-2_mTORC2_pm-1->mTORC2_pm-1

AKT

Inputs: ['Ipatasertib', 'PIP3', 'PIP3_2', 'PDK1_pm', 'mTORC2_pm']
CM: AKT
%3 PIP3_2-1 PIP3_2 T-2_AKT-1 2 PIP3_2-1->T-2_AKT-1 F-0_T-0_AKT-0 T-0_AKT-0 2 F-0_T-0_AKT-0->T-0_AKT-0 PDK1_pm-1 PDK1_pm F-0_T-2_AKT-1 PDK1_pm-1->F-0_T-2_AKT-1 F-0_T-3_AKT-1 PDK1_pm-1->F-0_T-3_AKT-1 mTORC2_pm-1 mTORC2_pm mTORC2_pm-1->F-0_T-2_AKT-1 mTORC2_pm-1->F-0_T-3_AKT-1 mTORC2_pm-0 mTORC2_pm mTORC2_pm-0->F-0_T-0_AKT-0 F-1_T-0_AKT-0 mTORC2_pm-0->F-1_T-0_AKT-0 AKT-0 AKT T-0_AKT-0->AKT-0 Ipatasertib-1 Ipatasertib T-1_AKT-0 2 Ipatasertib-1->T-1_AKT-0 PIP3_2-0 PIP3_2 PIP3_2-0->F-0_T-0_AKT-0 PIP3_2-0->T-1_AKT-0 PIP3_2-0->F-1_T-0_AKT-0 AKT-1 AKT T-2_AKT-1->AKT-1 Ipatasertib-0 Ipatasertib T-3_AKT-1 3 Ipatasertib-0->T-3_AKT-1 T-1_AKT-0->AKT-0 PIP3-1 PIP3 PIP3-1->T-3_AKT-1 PIP3-0 PIP3 PIP3-0->F-0_T-0_AKT-0 PIP3-0->F-1_T-0_AKT-0 PDK1_pm-0 PDK1_pm PDK1_pm-0->F-0_T-0_AKT-0 PDK1_pm-0->F-1_T-0_AKT-0 T-3_AKT-1->AKT-1 F-0_T-2_AKT-1->T-2_AKT-1 F-1_T-0_AKT-0->T-0_AKT-0 F-0_T-3_AKT-1->T-3_AKT-1

p21_p27_T

Inputs: ['FOXO3', 'MYC', 'MYC_2']
CM: p21_p27_T
%3 FOXO3-1 FOXO3 T-2_p21_p27_T-1 1 FOXO3-1->T-2_p21_p27_T-1 FOXO3-0 FOXO3 T-0_p21_p27_T-0 2 FOXO3-0->T-0_p21_p27_T-0 MYC_2-0 MYC_2 T-1_p21_p27_T-1 2 MYC_2-0->T-1_p21_p27_T-1 MYC_2-1 MYC_2 F-0_T-0_p21_p27_T-1 MYC_2-1->F-0_T-0_p21_p27_T-1 F-0_T-0_p21_p27_T-1->T-0_p21_p27_T-0 MYC-1 MYC MYC-1->F-0_T-0_p21_p27_T-1 MYC-0 MYC MYC-0->T-1_p21_p27_T-1 p21_p27_T-1 p21_p27_T T-1_p21_p27_T-1->p21_p27_T-1 p21_p27_T-0 p21_p27_T T-0_p21_p27_T-0->p21_p27_T-0 T-2_p21_p27_T-1->p21_p27_T-1

p21_p27

Inputs: ['PIM', 'AKT', 'p21_p27_T']
CM: p21_p27
%3 T-2_p21_p27-1 1 p21_p27-1 p21_p27 T-2_p21_p27-1->p21_p27-1 PIM-0 PIM T-1_p21_p27-1 2 PIM-0->T-1_p21_p27-1 PIM-1 PIM F-0_T-0_p21_p27-1 PIM-1->F-0_T-0_p21_p27-1 T-0_p21_p27-0 2 F-0_T-0_p21_p27-1->T-0_p21_p27-0 T-1_p21_p27-1->p21_p27-1 AKT-0 AKT AKT-0->T-1_p21_p27-1 AKT-1 AKT AKT-1->F-0_T-0_p21_p27-1 p21_p27-0 p21_p27 p21_p27_T-0 p21_p27_T p21_p27_T-0->T-0_p21_p27-0 p21_p27_T-1 p21_p27_T p21_p27_T-1->T-2_p21_p27-1 T-0_p21_p27-0->p21_p27-0

cycE_CDK2_T

Inputs: ['E2F', 'E2F_2', 'E2F_3']
CM: cycE_CDK2_T
%3 T-0_cycE_CDK2_T-0 3 cycE_CDK2_T-0 cycE_CDK2_T T-0_cycE_CDK2_T-0->cycE_CDK2_T-0 E2F_2-1 E2F_2 F-0_T-1_cycE_CDK2_T-1 E2F_2-1->F-0_T-1_cycE_CDK2_T-1 cycE_CDK2_T-1 cycE_CDK2_T E2F-0 E2F E2F-0->T-0_cycE_CDK2_T-0 T-1_cycE_CDK2_T-1 1 F-0_T-1_cycE_CDK2_T-1->T-1_cycE_CDK2_T-1 E2F-1 E2F E2F-1->F-0_T-1_cycE_CDK2_T-1 E2F_3-1 E2F_3 E2F_3-1->F-0_T-1_cycE_CDK2_T-1 E2F_2-0 E2F_2 E2F_2-0->T-0_cycE_CDK2_T-0 E2F_3-0 E2F_3 E2F_3-0->T-0_cycE_CDK2_T-0 T-1_cycE_CDK2_T-1->cycE_CDK2_T-1

cycE_CDK2

Inputs: ['p21_p27', 'cycE_CDK2_T']
CM: cycE_CDK2
%3 T-1_cycE_CDK2-0 1 cycE_CDK2-0 cycE_CDK2 T-1_cycE_CDK2-0->cycE_CDK2-0 cycE_CDK2-1 cycE_CDK2 cycE_CDK2_T-0 cycE_CDK2_T cycE_CDK2_T-0->T-1_cycE_CDK2-0 cycE_CDK2_T-1 cycE_CDK2_T T-2_cycE_CDK2-1 2 cycE_CDK2_T-1->T-2_cycE_CDK2-1 T-2_cycE_CDK2-1->cycE_CDK2-1 p21_p27-1 p21_p27 T-0_cycE_CDK2-0 1 p21_p27-1->T-0_cycE_CDK2-0 p21_p27-0 p21_p27 p21_p27-0->T-2_cycE_CDK2-1 T-0_cycE_CDK2-0->cycE_CDK2-0

KMT2D

Inputs: ['AKT']
CM: KMT2D
%3 T-0_KMT2D-0 1 KMT2D-0 KMT2D T-0_KMT2D-0->KMT2D-0 AKT-0 AKT T-1_KMT2D-1 1 AKT-0->T-1_KMT2D-1 AKT-1 AKT AKT-1->T-0_KMT2D-0 KMT2D-1 KMT2D T-1_KMT2D-1->KMT2D-1

TSC

Inputs: ['SGK1', 'MAPK_2', 'AKT']
CM: TSC
%3 TSC-0 TSC TSC-1 TSC T-0_TSC-0 1 T-0_TSC-0->TSC-0 AKT-1 AKT F-0_T-0_TSC-1 AKT-1->F-0_T-0_TSC-1 MAPK_2-1 MAPK_2 MAPK_2-1->F-0_T-0_TSC-1 MAPK_2-0 MAPK_2 T-1_TSC-1 3 MAPK_2-0->T-1_TSC-1 F-0_T-0_TSC-1->T-0_TSC-0 AKT-0 AKT AKT-0->T-1_TSC-1 SGK1-1 SGK1 SGK1-1->F-0_T-0_TSC-1 SGK1-0 SGK1 SGK1-0->T-1_TSC-1 T-1_TSC-1->TSC-1

PRAS40

Inputs: ['PIM', 'AKT']
CM: PRAS40
%3 T-0_PRAS40-0 1 PRAS40-0 PRAS40 T-0_PRAS40-0->PRAS40-0 F-0_T-0_PRAS40-1 F-0_T-0_PRAS40-1->T-0_PRAS40-0 PIM-0 PIM T-1_PRAS40-1 2 PIM-0->T-1_PRAS40-1 PIM-1 PIM PIM-1->F-0_T-0_PRAS40-1 AKT-0 AKT AKT-0->T-1_PRAS40-1 AKT-1 AKT AKT-1->F-0_T-0_PRAS40-1 PRAS40-1 PRAS40 T-1_PRAS40-1->PRAS40-1

mTORC1

Inputs: ['Everolimus', 'TSC', 'PRAS40']
CM: mTORC1
%3 TSC-0 TSC F-0_T-2_mTORC1-0 TSC-0->F-0_T-2_mTORC1-0 TSC-1 TSC T-1_mTORC1-0 2 TSC-1->T-1_mTORC1-0 mTORC1-1 mTORC1 mTORC1-0 mTORC1 T-1_mTORC1-0->mTORC1-0 T-2_mTORC1-1 2 F-0_T-2_mTORC1-0->T-2_mTORC1-1 T-0_mTORC1-0 1 T-0_mTORC1-0->mTORC1-0 T-2_mTORC1-1->mTORC1-1 PRAS40-1 PRAS40 PRAS40-1->T-1_mTORC1-0 PRAS40-0 PRAS40 PRAS40-0->F-0_T-2_mTORC1-0 Everolimus-0 Everolimus Everolimus-0->T-2_mTORC1-1 Everolimus-1 Everolimus Everolimus-1->T-0_mTORC1-0

FOXO3

Inputs: ['SGK1', 'PIM', 'AKT', 'FOXO3_Ub']
CM: FOXO3
%3 FOXO3-1 FOXO3 FOXO3-0 FOXO3 PIM-0 PIM T-1_FOXO3-1 4 PIM-0->T-1_FOXO3-1 PIM-1 PIM F-0_T-0_FOXO3-1 PIM-1->F-0_T-0_FOXO3-1 T-0_FOXO3-0 1 F-0_T-0_FOXO3-1->T-0_FOXO3-0 AKT-1 AKT AKT-1->F-0_T-0_FOXO3-1 T-0_FOXO3-0->FOXO3-0 FOXO3_Ub-0 FOXO3_Ub FOXO3_Ub-0->T-1_FOXO3-1 FOXO3_Ub-1 FOXO3_Ub FOXO3_Ub-1->F-0_T-0_FOXO3-1 SGK1-1 SGK1 SGK1-1->F-0_T-0_FOXO3-1 SGK1-0 SGK1 SGK1-0->T-1_FOXO3-1 AKT-0 AKT AKT-0->T-1_FOXO3-1 T-1_FOXO3-1->FOXO3-1

FOXO3_Ub

Inputs: ['MAPK_2']
CM: FOXO3_Ub
%3 T-1_FOXO3_Ub-1 1 FOXO3_Ub-1 FOXO3_Ub T-1_FOXO3_Ub-1->FOXO3_Ub-1 MAPK_2-1 MAPK_2 MAPK_2-1->T-1_FOXO3_Ub-1 MAPK_2-0 MAPK_2 T-0_FOXO3_Ub-0 1 MAPK_2-0->T-0_FOXO3_Ub-0 FOXO3_Ub-0 FOXO3_Ub T-0_FOXO3_Ub-0->FOXO3_Ub-0

BIM_T

Inputs: ['BIM_T']
CM: BIM_T
%3 T-1_BIM_T-1 1 BIM_T-1 BIM_T T-1_BIM_T-1->BIM_T-1 BIM_T-1->T-1_BIM_T-1 BIM_T-0 BIM_T T-0_BIM_T-0 1 BIM_T-0->T-0_BIM_T-0 T-0_BIM_T-0->BIM_T-0

BCL2_T

Inputs: ['BCL2_T']
CM: BCL2_T
%3 T-1_BCL2_T-1 1 BCL2_T-1 BCL2_T T-1_BCL2_T-1->BCL2_T-1 BCL2_T-1->T-1_BCL2_T-1 BCL2_T-0 BCL2_T T-0_BCL2_T-0 1 BCL2_T-0->T-0_BCL2_T-0 T-0_BCL2_T-0->BCL2_T-0

BIM

Inputs: ['MAPK_2', 'FOXO3', 'BIM_T']
CM: BIM
%3 FOXO3-1 FOXO3 T-2_BIM-1 2 FOXO3-1->T-2_BIM-1 FOXO3-0 FOXO3 T-1_BIM-0 2 FOXO3-0->T-1_BIM-0 T-3_BIM-1 1 BIM-1 BIM T-3_BIM-1->BIM-1 T-2_BIM-1->BIM-1 BIM-0 BIM T-1_BIM-0->BIM-0 MAPK_2-1 MAPK_2 T-0_BIM-0 2 MAPK_2-1->T-0_BIM-0 MAPK_2-0 MAPK_2 MAPK_2-0->T-2_BIM-1 T-0_BIM-0->BIM-0 BIM_T-0 BIM_T BIM_T-0->T-1_BIM-0 BIM_T-0->T-0_BIM-0 BIM_T-1 BIM_T BIM_T-1->T-3_BIM-1

BAD

Inputs: ['PIM', 'MAPK', 'MAPK_2', 'AKT']
CM: BAD
%3 T-1_BAD-1 4 BAD-1 BAD T-1_BAD-1->BAD-1 MAPK_2-0 MAPK_2 MAPK_2-0->T-1_BAD-1 PIM-0 PIM PIM-0->T-1_BAD-1 MAPK-1 MAPK F-0_T-0_BAD-1 MAPK-1->F-0_T-0_BAD-1 BAD-0 BAD MAPK_2-1 MAPK_2 MAPK_2-1->F-0_T-0_BAD-1 T-0_BAD-0 1 T-0_BAD-0->BAD-0 MAPK-0 MAPK MAPK-0->T-1_BAD-1 AKT-0 AKT AKT-0->T-1_BAD-1 PIM-1 PIM PIM-1->F-0_T-0_BAD-1 AKT-1 AKT AKT-1->F-0_T-0_BAD-1 F-0_T-0_BAD-1->T-0_BAD-0

MCL1

Inputs: ['Translation']
CM: MCL1
%3 T-1_MCL1-1 1 MCL1-1 MCL1 T-1_MCL1-1->MCL1-1 Translation-1 Translation Translation-1->T-1_MCL1-1 Translation-0 Translation T-0_MCL1-0 1 Translation-0->T-0_MCL1-0 MCL1-0 MCL1 T-0_MCL1-0->MCL1-0

EIF4F

Inputs: ['mTORC1']
CM: EIF4F
%3 T-1_EIF4F-1 1 EIF4F-1 EIF4F T-1_EIF4F-1->EIF4F-1 mTORC1-1 mTORC1 mTORC1-1->T-1_EIF4F-1 mTORC1-0 mTORC1 T-0_EIF4F-0 1 mTORC1-0->T-0_EIF4F-0 EIF4F-0 EIF4F T-0_EIF4F-0->EIF4F-0

S6K

Inputs: ['mTORC1']
CM: S6K
%3 T-1_S6K-1 1 S6K-1 S6K T-1_S6K-1->S6K-1 mTORC1-1 mTORC1 mTORC1-1->T-1_S6K-1 mTORC1-0 mTORC1 T-0_S6K-0 1 mTORC1-0->T-0_S6K-0 S6K-0 S6K T-0_S6K-0->S6K-0

Translation

Inputs: ['EIF4F', 'S6K']
CM: Translation
%3 T-0_Translation-0 1 Translation-0 Translation T-0_Translation-0->Translation-0 T-1_Translation-1 2 Translation-1 Translation T-1_Translation-1->Translation-1 S6K-0 S6K F-0_T-0_Translation-0 S6K-0->F-0_T-0_Translation-0 S6K-1 S6K S6K-1->T-1_Translation-1 F-0_T-0_Translation-0->T-0_Translation-0 EIF4F-0 EIF4F EIF4F-0->F-0_T-0_Translation-0 EIF4F-1 EIF4F EIF4F-1->T-1_Translation-1

ER

Inputs: ['ER']
CM: ER
%3 T-0_ER-0 1 ER-0 ER T-0_ER-0->ER-0 ER-0->T-0_ER-0 ER-1 ER T-1_ER-1 1 ER-1->T-1_ER-1 T-1_ER-1->ER-1

ESR1

Inputs: ['Fulvestrant', 'FOXO3', 'ER', 'ESR1_2']
CM: ESR1
%3 T-0_ESR1-0 3 ESR1-0 ESR1 T-0_ESR1-0->ESR1-0 FOXO3-0 FOXO3 FOXO3-0->T-0_ESR1-0 ER-1 ER F-0_T-2_ESR1-1 ER-1->F-0_T-2_ESR1-1 FOXO3-1 FOXO3 FOXO3-1->F-0_T-2_ESR1-1 T-2_ESR1-1 2 ESR1-1 ESR1 T-2_ESR1-1->ESR1-1 F-0_T-2_ESR1-1->T-2_ESR1-1 ESR1_2-0 ESR1_2 ESR1_2-0->T-0_ESR1-0 T-1_ESR1-0 2 ESR1_2-0->T-1_ESR1-0 Fulvestrant-0 Fulvestrant Fulvestrant-0->T-2_ESR1-1 Fulvestrant-1 Fulvestrant Fulvestrant-1->T-1_ESR1-0 T-1_ESR1-0->ESR1-0 T-3_ESR1-1 1 T-3_ESR1-1->ESR1-1 ESR1_2-1 ESR1_2 ESR1_2-1->T-3_ESR1-1 ER-0 ER ER-0->T-0_ESR1-0

ESR1_2

Inputs: ['Fulvestrant', 'FOXO3', 'ER', 'ESR1']
CM: ESR1_2
%3 FOXO3-1 FOXO3 T-2_ESR1_2-1 4 FOXO3-1->T-2_ESR1_2-1 FOXO3-0 FOXO3 F-0_T-0_ESR1_2-0 FOXO3-0->F-0_T-0_ESR1_2-0 ESR1-1 ESR1 ESR1-1->T-2_ESR1_2-1 T-0_ESR1_2-0 1 F-0_T-0_ESR1_2-0->T-0_ESR1_2-0 ESR1_2-1 ESR1_2 T-2_ESR1_2-1->ESR1_2-1 Fulvestrant-1 Fulvestrant T-1_ESR1_2-0 1 Fulvestrant-1->T-1_ESR1_2-0 ESR1_2-0 ESR1_2 Fulvestrant-0 Fulvestrant Fulvestrant-0->T-2_ESR1_2-1 T-0_ESR1_2-0->ESR1_2-0 T-1_ESR1_2-0->ESR1_2-0 ER-0 ER ER-0->F-0_T-0_ESR1_2-0 ER-1 ER ER-1->T-2_ESR1_2-1 ESR1-0 ESR1 ESR1-0->F-0_T-0_ESR1_2-0

FOXA1

Inputs: ['FOXO3']
CM: FOXA1
%3 FOXA1-1 FOXA1 FOXA1-0 FOXA1 FOXO3-1 FOXO3 T-1_FOXA1-1 1 FOXO3-1->T-1_FOXA1-1 FOXO3-0 FOXO3 T-0_FOXA1-0 1 FOXO3-0->T-0_FOXA1-0 T-1_FOXA1-1->FOXA1-1 T-0_FOXA1-0->FOXA1-0

PBX1

Inputs: ['PBX1']
CM: PBX1
%3 PBX1-0 PBX1 T-0_PBX1-0 1 PBX1-0->T-0_PBX1-0 PBX1-1 PBX1 T-1_PBX1-1 1 PBX1-1->T-1_PBX1-1 T-0_PBX1-0->PBX1-0 T-1_PBX1-1->PBX1-1

ER_transcription

Inputs: ['ER', 'ESR1', 'ESR1_2', 'ER_transcription_2']
CM: ER_transcription
%3 T-2_ER_transcription-1 2 ER_transcription-1 ER_transcription T-2_ER_transcription-1->ER_transcription-1 ESR1-1 ESR1 F-0_T-2_ER_transcription-1 ESR1-1->F-0_T-2_ER_transcription-1 F-0_T-2_ER_transcription-1->T-2_ER_transcription-1 ER_transcription_2-0 ER_transcription_2 T-0_ER_transcription-0 2 ER_transcription_2-0->T-0_ER_transcription-0 T-1_ER_transcription-0 3 ER_transcription_2-0->T-1_ER_transcription-0 ER_transcription_2-1 ER_transcription_2 T-3_ER_transcription-1 1 ER_transcription_2-1->T-3_ER_transcription-1 ER_transcription-0 ER_transcription T-0_ER_transcription-0->ER_transcription-0 ESR1_2-1 ESR1_2 ESR1_2-1->F-0_T-2_ER_transcription-1 ESR1_2-0 ESR1_2 ESR1_2-0->T-1_ER_transcription-0 T-1_ER_transcription-0->ER_transcription-0 T-3_ER_transcription-1->ER_transcription-1 ER-0 ER ER-0->T-0_ER_transcription-0 ER-1 ER ER-1->T-2_ER_transcription-1 ESR1-0 ESR1 ESR1-0->T-1_ER_transcription-0

ER_transcription_2

Inputs: ['KMT2D', 'ER', 'ESR1_2', 'FOXA1', 'PBX1', 'ER_transcription']
CM: ER_transcription_2
%3 FOXA1-1 FOXA1 T-1_ER_transcription_2-1 6 FOXA1-1->T-1_ER_transcription_2-1 FOXA1-0 FOXA1 F-0_T-0_ER_transcription_2-0 FOXA1-0->F-0_T-0_ER_transcription_2-0 PBX1-0 PBX1 PBX1-0->F-0_T-0_ER_transcription_2-0 PBX1-1 PBX1 PBX1-1->T-1_ER_transcription_2-1 ER_transcription_2-0 ER_transcription_2 ER_transcription_2-1 ER_transcription_2 T-0_ER_transcription_2-0 1 T-0_ER_transcription_2-0->ER_transcription_2-0 ESR1_2-0 ESR1_2 ESR1_2-0->F-0_T-0_ER_transcription_2-0 ER_transcription-1 ER_transcription ER_transcription-1->T-1_ER_transcription_2-1 F-0_T-0_ER_transcription_2-0->T-0_ER_transcription_2-0 ESR1_2-1 ESR1_2 ESR1_2-1->T-1_ER_transcription_2-1 KMT2D-0 KMT2D KMT2D-0->F-0_T-0_ER_transcription_2-0 KMT2D-1 KMT2D KMT2D-1->T-1_ER_transcription_2-1 T-1_ER_transcription_2-1->ER_transcription_2-1 ER_transcription-0 ER_transcription ER_transcription-0->F-0_T-0_ER_transcription_2-0 ER-0 ER ER-0->F-0_T-0_ER_transcription_2-0 ER-1 ER ER-1->T-1_ER_transcription_2-1

MYC

Inputs: ['ER_transcription', 'MYC_2']
CM: MYC
%3 MYC_2-0 MYC_2 T-0_MYC-0 2 MYC_2-0->T-0_MYC-0 MYC_2-1 MYC_2 F-0_T-1_MYC-1 MYC_2-1->F-0_T-1_MYC-1 T-1_MYC-1 1 F-0_T-1_MYC-1->T-1_MYC-1 MYC-1 MYC MYC-0 MYC T-0_MYC-0->MYC-0 T-1_MYC-1->MYC-1 ER_transcription-1 ER_transcription ER_transcription-1->F-0_T-1_MYC-1 ER_transcription-0 ER_transcription ER_transcription-0->T-0_MYC-0

MYC_2

Inputs: ['ER_transcription_2', 'MYC']
CM: MYC_2
%3 MYC_2-0 MYC_2 MYC_2-1 MYC_2 F-0_T-0_MYC_2-0 T-0_MYC_2-0 1 F-0_T-0_MYC_2-0->T-0_MYC_2-0 MYC-1 MYC T-1_MYC_2-1 2 MYC-1->T-1_MYC_2-1 MYC-0 MYC MYC-0->F-0_T-0_MYC_2-0 T-0_MYC_2-0->MYC_2-0 ER_transcription_2-1 ER_transcription_2 ER_transcription_2-1->T-1_MYC_2-1 T-1_MYC_2-1->MYC_2-1 ER_transcription_2-0 ER_transcription_2 ER_transcription_2-0->F-0_T-0_MYC_2-0

cyclinD

Inputs: ['MYC', 'cyclinD_2']
CM: cyclinD
%3 T-0_cyclinD-0 2 cyclinD-0 cyclinD T-0_cyclinD-0->cyclinD-0 MYC-1 MYC F-0_T-1_cyclinD-1 MYC-1->F-0_T-1_cyclinD-1 MYC-0 MYC MYC-0->T-0_cyclinD-0 T-1_cyclinD-1 1 F-0_T-1_cyclinD-1->T-1_cyclinD-1 cyclinD-1 cyclinD T-1_cyclinD-1->cyclinD-1 cyclinD_2-1 cyclinD_2 cyclinD_2-1->F-0_T-1_cyclinD-1 cyclinD_2-0 cyclinD_2 cyclinD_2-0->T-0_cyclinD-0

cyclinD_2

Inputs: ['MYC_2', 'cyclinD']
CM: cyclinD_2
%3 MYC_2-0 MYC_2 F-0_T-0_cyclinD_2-0 MYC_2-0->F-0_T-0_cyclinD_2-0 MYC_2-1 MYC_2 T-1_cyclinD_2-1 2 MYC_2-1->T-1_cyclinD_2-1 T-0_cyclinD_2-0 1 cyclinD_2-0 cyclinD_2 T-0_cyclinD_2-0->cyclinD_2-0 cyclinD_2-1 cyclinD_2 T-1_cyclinD_2-1->cyclinD_2-1 F-0_T-0_cyclinD_2-0->T-0_cyclinD_2-0 cyclinD-0 cyclinD cyclinD-0->F-0_T-0_cyclinD_2-0 cyclinD-1 cyclinD cyclinD-1->T-1_cyclinD_2-1

BCL2

Inputs: ['BCL2_T', 'ER_transcription_2']
CM: BCL2
%3 BCL2-0 BCL2 BCL2-1 BCL2 ER_transcription_2-0 ER_transcription_2 T-0_BCL2-0 2 ER_transcription_2-0->T-0_BCL2-0 ER_transcription_2-1 ER_transcription_2 F-0_T-1_BCL2-1 ER_transcription_2-1->F-0_T-1_BCL2-1 T-1_BCL2-1 1 F-0_T-1_BCL2-1->T-1_BCL2-1 T-0_BCL2-0->BCL2-0 BCL2_T-1 BCL2_T BCL2_T-1->F-0_T-1_BCL2-1 BCL2_T-0 BCL2_T BCL2_T-0->T-0_BCL2-0 T-1_BCL2-1->BCL2-1

CDK46

Inputs: ['Palbociclib']
CM: CDK46
%3 T-1_CDK46-1 1 CDK46-1 CDK46 T-1_CDK46-1->CDK46-1 Palbociclib-0 Palbociclib Palbociclib-0->T-1_CDK46-1 Palbociclib-1 Palbociclib T-0_CDK46-0 1 Palbociclib-1->T-0_CDK46-0 CDK46-0 CDK46 T-0_CDK46-0->CDK46-0

cycD_CDK46

Inputs: ['cyclinD', 'cyclinD_2', 'CDK46', 'cycD_CDK46_2']
CM: cycD_CDK46
%3 cycD_CDK46_2-0 cycD_CDK46_2 T-0_cycD_CDK46-0 2 cycD_CDK46_2-0->T-0_cycD_CDK46-0 T-1_cycD_CDK46-0 3 cycD_CDK46_2-0->T-1_cycD_CDK46-0 cycD_CDK46_2-1 cycD_CDK46_2 T-3_cycD_CDK46-1 1 cycD_CDK46_2-1->T-3_cycD_CDK46-1 CDK46-1 CDK46 T-2_cycD_CDK46-1 2 CDK46-1->T-2_cycD_CDK46-1 cycD_CDK46-1 cycD_CDK46 T-3_cycD_CDK46-1->cycD_CDK46-1 cycD_CDK46-0 cycD_CDK46 CDK46-0 CDK46 CDK46-0->T-0_cycD_CDK46-0 T-0_cycD_CDK46-0->cycD_CDK46-0 F-0_T-2_cycD_CDK46-1 F-0_T-2_cycD_CDK46-1->T-2_cycD_CDK46-1 T-2_cycD_CDK46-1->cycD_CDK46-1 T-1_cycD_CDK46-0->cycD_CDK46-0 cyclinD_2-1 cyclinD_2 cyclinD_2-1->F-0_T-2_cycD_CDK46-1 cyclinD_2-0 cyclinD_2 cyclinD_2-0->T-1_cycD_CDK46-0 cyclinD-0 cyclinD cyclinD-0->T-1_cycD_CDK46-0 cyclinD-1 cyclinD cyclinD-1->F-0_T-2_cycD_CDK46-1

cycD_CDK46_2

Inputs: ['cyclinD_2', 'CDK46', 'cycD_CDK46']
CM: cycD_CDK46_2
%3 cycD_CDK46_2-0 cycD_CDK46_2 cycD_CDK46_2-1 cycD_CDK46_2 F-0_T-0_cycD_CDK46_2-0 T-0_cycD_CDK46_2-0 1 F-0_T-0_cycD_CDK46_2-0->T-0_cycD_CDK46_2-0 T-1_cycD_CDK46_2-1 3 T-1_cycD_CDK46_2-1->cycD_CDK46_2-1 cycD_CDK46-0 cycD_CDK46 cycD_CDK46-0->F-0_T-0_cycD_CDK46_2-0 CDK46-0 CDK46 CDK46-0->F-0_T-0_cycD_CDK46_2-0 CDK46-1 CDK46 CDK46-1->T-1_cycD_CDK46_2-1 cycD_CDK46-1 cycD_CDK46 cycD_CDK46-1->T-1_cycD_CDK46_2-1 cyclinD_2-1 cyclinD_2 cyclinD_2-1->T-1_cycD_CDK46_2-1 cyclinD_2-0 cyclinD_2 cyclinD_2-0->F-0_T-0_cycD_CDK46_2-0 T-0_cycD_CDK46_2-0->cycD_CDK46_2-0

pRb

Inputs: ['cycE_CDK2', 'cycD_CDK46', 'cycD_CDK46_2', 'pRb_2', 'pRb_3']
CM: pRb
%3 cycD_CDK46_2-0 cycD_CDK46_2 T-0_pRb-0 5 cycD_CDK46_2-0->T-0_pRb-0 F-0_T-1_pRb-1 T-1_pRb-1 1 F-0_T-1_pRb-1->T-1_pRb-1 cycD_CDK46_2-1 cycD_CDK46_2 cycD_CDK46_2-1->F-0_T-1_pRb-1 cycD_CDK46-1 cycD_CDK46 cycD_CDK46-1->F-0_T-1_pRb-1 cycD_CDK46-0 cycD_CDK46 cycD_CDK46-0->T-0_pRb-0 pRb-0 pRb T-0_pRb-0->pRb-0 cycE_CDK2-0 cycE_CDK2 cycE_CDK2-0->T-0_pRb-0 pRb_3-0 pRb_3 pRb_3-0->T-0_pRb-0 pRb_3-1 pRb_3 pRb_3-1->F-0_T-1_pRb-1 pRb_2-1 pRb_2 pRb_2-1->F-0_T-1_pRb-1 pRb_2-0 pRb_2 pRb_2-0->T-0_pRb-0 pRb-1 pRb cycE_CDK2-1 cycE_CDK2 cycE_CDK2-1->F-0_T-1_pRb-1 T-1_pRb-1->pRb-1

pRb_2

Inputs: ['cycE_CDK2', 'cycD_CDK46', 'cycD_CDK46_2', 'pRb', 'pRb_3']
CM: pRb_2
%3 cycD_CDK46_2-0 cycD_CDK46_2 T-0_pRb_2-0 3 cycD_CDK46_2-0->T-0_pRb_2-0 T-4_pRb_2-1 2 pRb_2-1 pRb_2 T-4_pRb_2-1->pRb_2-1 T-2_pRb_2-1 3 T-2_pRb_2-1->pRb_2-1 T-3_pRb_2-1 1 T-3_pRb_2-1->pRb_2-1 T-1_pRb_2-0 2 pRb_2-0 pRb_2 T-1_pRb_2-0->pRb_2-0 T-0_pRb_2-0->pRb_2-0 cycD_CDK46_2-1 cycD_CDK46_2 cycD_CDK46_2-1->T-4_pRb_2-1 cycD_CDK46-1 cycD_CDK46 cycD_CDK46-1->T-2_pRb_2-1 cycD_CDK46-0 cycD_CDK46 F-0_T-0_pRb_2-0 cycD_CDK46-0->F-0_T-0_pRb_2-0 cycE_CDK2-1 cycE_CDK2 cycE_CDK2-1->T-2_pRb_2-1 cycE_CDK2-0 cycE_CDK2 cycE_CDK2-0->F-0_T-0_pRb_2-0 pRb_3-0 pRb_3 pRb_3-0->T-1_pRb_2-0 pRb_3-0->T-0_pRb_2-0 pRb_3-1 pRb_3 pRb_3-1->T-3_pRb_2-1 pRb-0 pRb pRb-0->T-1_pRb_2-0 pRb-1 pRb pRb-1->T-4_pRb_2-1 pRb-1->T-2_pRb_2-1 F-0_T-0_pRb_2-0->T-0_pRb_2-0

pRb_3

Inputs: ['cycE_CDK2', 'cycD_CDK46_2', 'pRb', 'pRb_2']
CM: pRb_3
%3 T-0_pRb_3-0 1 pRb_3-0 pRb_3 T-0_pRb_3-0->pRb_3-0 cycD_CDK46_2-0 cycD_CDK46_2 F-0_T-0_pRb_3-0 cycD_CDK46_2-0->F-0_T-0_pRb_3-0 cycD_CDK46_2-1 cycD_CDK46_2 T-1_pRb_3-1 4 cycD_CDK46_2-1->T-1_pRb_3-1 cycE_CDK2-1 cycE_CDK2 cycE_CDK2-1->T-1_pRb_3-1 cycE_CDK2-0 cycE_CDK2 cycE_CDK2-0->F-0_T-0_pRb_3-0 pRb_3-1 pRb_3 pRb_2-1 pRb_2 pRb_2-1->T-1_pRb_3-1 pRb_2-0 pRb_2 pRb_2-0->F-0_T-0_pRb_3-0 pRb-0 pRb pRb-0->F-0_T-0_pRb_3-0 pRb-1 pRb pRb-1->T-1_pRb_3-1 T-1_pRb_3-1->pRb_3-1 F-0_T-0_pRb_3-0->T-0_pRb_3-0

E2F

Inputs: ['pRb', 'E2F_2', 'E2F_3']
CM: E2F
%3 E2F_2-1 E2F_2 F-0_T-1_E2F-1 E2F_2-1->F-0_T-1_E2F-1 T-0_E2F-0 3 E2F-0 E2F T-0_E2F-0->E2F-0 T-1_E2F-1 1 E2F-1 E2F T-1_E2F-1->E2F-1 E2F_3-0 E2F_3 E2F_3-0->T-0_E2F-0 F-0_T-1_E2F-1->T-1_E2F-1 E2F_3-1 E2F_3 E2F_3-1->F-0_T-1_E2F-1 pRb-0 pRb pRb-0->T-0_E2F-0 pRb-1 pRb pRb-1->F-0_T-1_E2F-1 E2F_2-0 E2F_2 E2F_2-0->T-0_E2F-0

E2F_2

Inputs: ['pRb_2', 'E2F', 'E2F_3']
CM: E2F_2
%3 T-2_E2F_2-1 2 E2F_2-1 E2F_2 T-2_E2F_2-1->E2F_2-1 T-1_E2F_2-1 1 T-1_E2F_2-1->E2F_2-1 pRb_2-1 pRb_2 pRb_2-1->T-2_E2F_2-1 E2F_3-1 E2F_3 E2F_3-1->T-1_E2F_2-1 E2F_3-0 E2F_3 T-0_E2F_2-0 2 E2F_3-0->T-0_E2F_2-0 F-0_T-0_E2F_2-0 F-0_T-0_E2F_2-0->T-0_E2F_2-0 E2F-0 E2F E2F-0->F-0_T-0_E2F_2-0 pRb_2-0 pRb_2 pRb_2-0->F-0_T-0_E2F_2-0 E2F-1 E2F E2F-1->T-2_E2F_2-1 E2F_2-0 E2F_2 T-0_E2F_2-0->E2F_2-0

E2F_3

Inputs: ['pRb_2', 'pRb_3', 'E2F', 'E2F_2', 'E2F_3']
CM: E2F_3
%3 T-1_E2F_3-0 1 E2F_3-0 E2F_3 T-1_E2F_3-0->E2F_3-0 E2F_2-1 E2F_2 T-3_E2F_3-1 4 E2F_2-1->T-3_E2F_3-1 T-2_E2F_3-1 3 E2F_2-1->T-2_E2F_3-1 E2F_3-1 E2F_3 T-3_E2F_3-1->E2F_3-1 pRb_3-1 pRb_3 pRb_3-1->T-2_E2F_3-1 F-0_T-0_E2F_3-0 T-0_E2F_3-0 2 F-0_T-0_E2F_3-0->T-0_E2F_3-0 pRb_3-0 pRb_3 pRb_3-0->T-0_E2F_3-0 E2F_3-0->F-0_T-0_E2F_3-0 T-0_E2F_3-0->E2F_3-0 pRb_2-1 pRb_2 pRb_2-1->T-3_E2F_3-1 pRb_2-0 pRb_2 pRb_2-0->F-0_T-0_E2F_3-0 E2F-1 E2F E2F-1->T-3_E2F_3-1 E2F-1->T-2_E2F_3-1 E2F_3-1->T-3_E2F_3-1 T-2_E2F_3-1->E2F_3-1 E2F_2-0 E2F_2 F-0_T-1_E2F_3-0 E2F_2-0->F-0_T-1_E2F_3-0 E2F-0 E2F E2F-0->F-0_T-1_E2F_3-0 F-0_T-1_E2F_3-0->T-1_E2F_3-0

Proliferation

Inputs: ['Translation', 'E2F', 'E2F_2', 'E2F_3']
CM: Proliferation
%3 E2F_2-1 E2F_2 F-0_T-1_Proliferation-1 E2F_2-1->F-0_T-1_Proliferation-1 Translation-1 Translation Translation-1->F-0_T-1_Proliferation-1 Translation-0 Translation T-0_Proliferation-0 4 Translation-0->T-0_Proliferation-0 T-1_Proliferation-1 1 F-0_T-1_Proliferation-1->T-1_Proliferation-1 Proliferation-0 Proliferation Proliferation-1 Proliferation E2F-1 E2F E2F-1->F-0_T-1_Proliferation-1 E2F-0 E2F E2F-0->T-0_Proliferation-0 T-0_Proliferation-0->Proliferation-0 E2F_3-1 E2F_3 E2F_3-1->F-0_T-1_Proliferation-1 T-1_Proliferation-1->Proliferation-1 E2F_2-0 E2F_2 E2F_2-0->T-0_Proliferation-0 E2F_3-0 E2F_3 E2F_3-0->T-0_Proliferation-0

Proliferation_2

Inputs: ['Translation', 'E2F_2', 'E2F_3']
CM: Proliferation_2
%3 Translation-1 Translation F-0_T-1_Proliferation_2-1 Translation-1->F-0_T-1_Proliferation_2-1 Translation-0 Translation T-0_Proliferation_2-0 3 Translation-0->T-0_Proliferation_2-0 E2F_3-1 E2F_3 E2F_3-1->F-0_T-1_Proliferation_2-1 E2F_3-0 E2F_3 E2F_3-0->T-0_Proliferation_2-0 T-1_Proliferation_2-1 1 F-0_T-1_Proliferation_2-1->T-1_Proliferation_2-1 Proliferation_2-0 Proliferation_2 T-0_Proliferation_2-0->Proliferation_2-0 Proliferation_2-1 Proliferation_2 T-1_Proliferation_2-1->Proliferation_2-1 E2F_2-0 E2F_2 E2F_2-0->T-0_Proliferation_2-0 E2F_2-1 E2F_2 E2F_2-1->F-0_T-1_Proliferation_2-1

Proliferation_3

Inputs: ['Translation', 'E2F_2', 'E2F_3']
CM: Proliferation_3
%3 T-0_Proliferation_3-0 2 Proliferation_3-0 Proliferation_3 T-0_Proliferation_3-0->Proliferation_3-0 T-2_Proliferation_3-1 2 Proliferation_3-1 Proliferation_3 T-2_Proliferation_3-1->Proliferation_3-1 F-0_T-0_Proliferation_3-0 F-0_T-0_Proliferation_3-0->T-0_Proliferation_3-0 Translation-1 Translation Translation-1->T-2_Proliferation_3-1 Translation-0 Translation Translation-0->F-0_T-0_Proliferation_3-0 E2F_2-1 E2F_2 E2F_2-1->T-2_Proliferation_3-1 E2F_3-1 E2F_3 T-1_Proliferation_3-1 1 E2F_3-1->T-1_Proliferation_3-1 E2F_3-0 E2F_3 E2F_3-0->T-0_Proliferation_3-0 T-1_Proliferation_3-1->Proliferation_3-1 E2F_2-0 E2F_2 E2F_2-0->F-0_T-0_Proliferation_3-0

Proliferation_4

Inputs: ['Translation', 'E2F_3']
CM: Proliferation_4
%3 Proliferation_4-1 Proliferation_4 Proliferation_4-0 Proliferation_4 Translation-1 Translation T-1_Proliferation_4-1 2 Translation-1->T-1_Proliferation_4-1 Translation-0 Translation F-0_T-0_Proliferation_4-0 Translation-0->F-0_T-0_Proliferation_4-0 T-1_Proliferation_4-1->Proliferation_4-1 E2F_3-1 E2F_3 E2F_3-1->T-1_Proliferation_4-1 E2F_3-0 E2F_3 E2F_3-0->F-0_T-0_Proliferation_4-0 T-0_Proliferation_4-0 1 F-0_T-0_Proliferation_4-0->T-0_Proliferation_4-0 T-0_Proliferation_4-0->Proliferation_4-0

Apoptosis

Inputs: ['BIM', 'BAD', 'MCL1', 'BCL2', 'Apoptosis']
CM: Apoptosis
%3 F-0_T-2_Apoptosis-0 T-2_Apoptosis-1 2 F-0_T-2_Apoptosis-0->T-2_Apoptosis-1 F-0_T-2_Apoptosis-1 F-0_T-2_Apoptosis-1->T-2_Apoptosis-1 F-0_T-0_Apoptosis-0 T-0_Apoptosis-0 4 F-0_T-0_Apoptosis-0->T-0_Apoptosis-0 BCL2-1 BCL2 BCL2-1->F-0_T-2_Apoptosis-1 BCL2-1->T-0_Apoptosis-0 Apoptosis-1 Apoptosis T-2_Apoptosis-1->Apoptosis-1 Apoptosis-0 Apoptosis T-0_Apoptosis-0->Apoptosis-0 T-4_Apoptosis-1 2 T-4_Apoptosis-1->Apoptosis-1 MCL1-0 MCL1 MCL1-0->F-0_T-2_Apoptosis-0 MCL1-1 MCL1 MCL1-1->F-0_T-2_Apoptosis-1 MCL1-1->T-0_Apoptosis-0 BAD-1 BAD BAD-1->T-4_Apoptosis-1 BAD-0 BAD BAD-0->F-0_T-0_Apoptosis-0 T-1_Apoptosis-0 3 BAD-0->T-1_Apoptosis-0 BIM-0 BIM BIM-0->F-0_T-0_Apoptosis-0 BIM-0->T-1_Apoptosis-0 BIM-1 BIM BIM-1->T-4_Apoptosis-1 T-3_Apoptosis-1 1 T-3_Apoptosis-1->Apoptosis-1 BCL2-0 BCL2 BCL2-0->F-0_T-2_Apoptosis-0 T-1_Apoptosis-0->Apoptosis-0 Apoptosis-0->T-0_Apoptosis-0 Apoptosis-0->T-1_Apoptosis-0 Apoptosis-1->T-3_Apoptosis-1

Apoptosis_2

Inputs: ['BIM', 'BAD', 'MCL1', 'BCL2', 'Apoptosis_2']
CM: Apoptosis_2
%3 T-3_Apoptosis_2-1 1 Apoptosis_2-1 Apoptosis_2 T-3_Apoptosis_2-1->Apoptosis_2-1 MCL1-1 MCL1 T-1_Apoptosis_2-0 3 MCL1-1->T-1_Apoptosis_2-0 BCL2-0 BCL2 F-0_T-2_Apoptosis_2-0 BCL2-0->F-0_T-2_Apoptosis_2-0 BCL2-1 BCL2 BCL2-1->T-1_Apoptosis_2-0 T-2_Apoptosis_2-1 3 F-0_T-2_Apoptosis_2-0->T-2_Apoptosis_2-1 MCL1-0 MCL1 MCL1-0->F-0_T-2_Apoptosis_2-0 T-2_Apoptosis_2-1->Apoptosis_2-1 Apoptosis_2-0 Apoptosis_2 T-1_Apoptosis_2-0->Apoptosis_2-0 BAD-1 BAD BAD-1->T-2_Apoptosis_2-1 BAD-0 BAD F-0_T-0_Apoptosis_2-0 BAD-0->F-0_T-0_Apoptosis_2-0 BIM-0 BIM BIM-0->F-0_T-0_Apoptosis_2-0 BIM-1 BIM BIM-1->T-2_Apoptosis_2-1 T-0_Apoptosis_2-0 2 F-0_T-0_Apoptosis_2-0->T-0_Apoptosis_2-0 T-0_Apoptosis_2-0->Apoptosis_2-0 Apoptosis_2-1->T-3_Apoptosis_2-1 Apoptosis_2-0->T-1_Apoptosis_2-0 Apoptosis_2-0->T-0_Apoptosis_2-0

Apoptosis_3

Inputs: ['BIM', 'BAD', 'MCL1', 'BCL2', 'Apoptosis_3']
CM: Apoptosis_3
%3 T-2_Apoptosis_3-1 4 Apoptosis_3-1 Apoptosis_3 T-2_Apoptosis_3-1->Apoptosis_3-1 BCL2-0 BCL2 BCL2-0->T-2_Apoptosis_3-1 BCL2-1 BCL2 F-0_T-0_Apoptosis_3-1 BCL2-1->F-0_T-0_Apoptosis_3-1 F-0_T-1_Apoptosis_3-0 T-1_Apoptosis_3-0 2 F-0_T-1_Apoptosis_3-0->T-1_Apoptosis_3-0 Apoptosis_3-0 Apoptosis_3 T-0_Apoptosis_3-0 2 Apoptosis_3-0->T-0_Apoptosis_3-0 Apoptosis_3-0->T-1_Apoptosis_3-0 T-3_Apoptosis_3-1 1 Apoptosis_3-1->T-3_Apoptosis_3-1 F-0_T-0_Apoptosis_3-1->T-0_Apoptosis_3-0 MCL1-0 MCL1 MCL1-0->T-2_Apoptosis_3-1 MCL1-1 MCL1 MCL1-1->F-0_T-0_Apoptosis_3-1 BAD-1 BAD BAD-1->T-2_Apoptosis_3-1 BAD-0 BAD BAD-0->F-0_T-1_Apoptosis_3-0 T-3_Apoptosis_3-1->Apoptosis_3-1 BIM-0 BIM BIM-0->F-0_T-1_Apoptosis_3-0 BIM-1 BIM BIM-1->T-2_Apoptosis_3-1 T-0_Apoptosis_3-0->Apoptosis_3-0 T-1_Apoptosis_3-0->Apoptosis_3-0

In [17]:
# Request the DCM to the Network
DCM = N.dynamics_canalization_map(output=None)
# Draws using the graphviz interface.
D = draw_dynamics_canalization_map_graphviz(DCM, overlap='true')
#display(D)

# Export to .SVG
D._format = 'svg'
efile = u'%s/../experiments/2017 - BioModels/%s/DCM/DCM' % (os.getcwd(), foldername)
D.render(efile, cleanup=True)
subprocess.call("inkscape -z -d 150 '%s.svg' -e '%s.png'" % (efile,efile) , shell=True)


Out[17]:
1

In [18]:
def plot_schemata(nid, n):
    # Init values from BooleanNode
    k = n.k if n.k>=1 else 1
    inputs = n.inputs if not n.constant else [n.name]
    pi0s,pi1s = n._prime_implicants
    ts0s,ts1s = n._two_symbols
    # Count number of PI and TS
    n_pi = sum(len(pis) for pis in [pi0s,pi1s])
    n_ts = sum(len(tss) for tss in [ts0s,ts1s])
    # Schemata Cell Width and spacing
    cwidth = 60.
    cxspace = 0
    cyspace = 6
    border = 1
    sepcxspace = 21
    sepcyspace = 15
    dpi = 150.
    # Margins
    top, right, bottom, left, hs = 160, 25, 25, 60, 60
    # Axes Width & Height
    ax1width = ((k*(cwidth+cxspace))+sepcxspace+(cwidth))
    ax1height = (n_pi*(cwidth+cyspace)+sepcyspace-cyspace)
    ax2width = ((k*(cwidth+cxspace))+sepcxspace+(cwidth))
    ax2height = (n_ts*(cwidth+cyspace)+sepcyspace-cyspace)
    # Figure Width & Height
    fwidth = (left + ax1width + hs + ax2width + right)
    fheight = (bottom + max(ax1height,ax2height) + top)
    # Percentages for Axes location
    _ax1w = ((ax1width*100) / fwidth) / 100
    _ax2w = ((ax2width*100) / fwidth) / 100
    _ax1h = ((ax1height*100) / fheight) / 100
    _ax2h = ((ax2height*100) / fheight) / 100
    _bottom = ((bottom*100) / fheight) / 100
    _left = ((left*100) / fwidth) / 100
    _hs = ((hs*100) / fwidth) / 100
    # Init Figure
    fig = plt.figure(figsize=(fwidth/dpi,fheight/dpi), dpi=dpi)
    ax1 = fig.add_axes((_left,_bottom,_ax1w,_ax1h), aspect=1, label='PI')
    ax2 = fig.add_axes((_left+_ax1w+_hs,_bottom,_ax2w,_ax1h), aspect=1, label='TS')

    ### PI Plot ###

    yticks = []
    patches = []
    x,y = 0.,0.
    #
    for out,pis in zip([1,0],[pi1s,pi0s]):
        for pi in pis:
            x = 0.
            xticks = []
            for input in pi:
                if input == '0':
                    facecolor = 'white'
                    textcolor = 'black'
                elif input == '1':
                    facecolor = 'black'
                    textcolor = 'white'
                elif input == '2':
                    facecolor = '#cccccc'
                    textcolor = 'black'            
                text = '%s'%(input) if (input!='2') else '#'
                ax1.add_artist(Text(x+cwidth/2,y+cwidth/10*4, text=text, color=textcolor, va='center', ha='center',fontsize=14,family='serif'))
                r = Rectangle((x,y), width=cwidth, height=cwidth, facecolor=facecolor, edgecolor='black')
                patches.append(r)
                xticks.append(x+cwidth/2)
                x += cwidth + cxspace

            x += sepcxspace
            r = Rectangle((x,y), width=cwidth, height=cwidth, facecolor='black' if (out==1) else 'white', edgecolor='black')
            ax1.add_artist(Text(x-(sepcxspace/2)-(cxspace/2),y+cwidth/10*4, text=':', color='black', va='center', ha='center',fontsize=14,weight='bold',family='serif'))
            ax1.add_artist(Text(x+(cwidth/2),y+cwidth/10*4, text=out, color='white' if (out==1) else 'black', va='center', ha='center',fontsize=14,family='serif'))
            patches.append(r)
            xticks.append(x+cwidth/2)
            yticks.append(y+cwidth/2)
            y += cwidth + cyspace
        y += sepcyspace

    ax1.add_collection(PatchCollection(patches,match_original=True))
    #
    ax1.set_yticks(yticks)
    ax1.set_yticklabels([r"$f^{'}_{%d}$"%(i+1) for i in range(n_pi)[::-1]], fontsize=14)
    ax1.set_xticks(xticks)
    ax1.set_xticklabels(inputs + ['%s'%(n.name)], rotation=90, fontsize=14)
    #
    ax1.xaxis.tick_top()
    # Remove Tick
    ax1.tick_params(which='major',pad=7)
    for tic in ax1.xaxis.get_major_ticks():
        tic.tick1On = tic.tick2On = False
    for tic in ax1.yaxis.get_major_ticks():
        tic.tick1On = tic.tick2On = False
    # Remove Border
    ax1.spines['top'].set_visible(False)
    ax1.spines['right'].set_visible(False)
    ax1.spines['bottom'].set_visible(False)
    ax1.spines['left'].set_visible(False)
    # Limits
    ax1.set_xlim(-border,ax1width+border)
    ax1.set_ylim(-border,ax1height+border)
    #ax1.invert_yaxis() 

    ## TS ##

    t = 0
    x,y = 0.,0.
    yticks = []
    boxes,symbols = [], []
    #
    tssymbols = [
        Circle((None,None), radius=5, facecolor='white', edgecolor='black'),
        RegularPolygon((None,None),numVertices=3, radius=5, orientation=0, facecolor='white', edgecolor='black'),
    ]
    #
    for out,tss in zip([1,0],[ts1s,ts0s]):
        for ts,pss,sss in tss:
            x = 0.
            xticks = []
            for i,input in enumerate(ts):
                if input == '0':
                    facecolor = 'white'
                    textcolor = 'black'
                elif input == '1':
                    facecolor = 'black'
                    textcolor = 'white'
                elif input == '2':
                    facecolor = '#cccccc'
                    textcolor = 'black'

                if len(pss):
                    # TODO: If there are several symbols in the same input position, place them side-by-side
                    iinpss = [j for j,ps in enumerate(pss) if i in ps]
                    xpos = np.linspace(x,x+cwidth, len(iinpss)+2)
                    for z,j in enumerate(iinpss,start=1):
                        s = copy(tssymbols[j])
                        s.xy = (xpos[z],y+cwidth*0.8)
                        s.center = xpos[z],y+cwidth*0.8 # A hack for circles only
                        s.set_edgecolor('#a6a6a6' if (input=='1') else 'black')
                        symbols.append(s)
                        ax2.add_patch(s)

                text = '%s'%(input) if (input!='2') else '#'
                ax2.add_artist(Text(x+cwidth/2,y+cwidth/10*4, text=text, color=textcolor, va='center', ha='center',fontsize=14,family='serif'))
                r = Rectangle((x,y), width=cwidth, height=cwidth, facecolor=facecolor, edgecolor='#4c4c4c',zorder=2)
                boxes.append(r)
                xticks.append(x+cwidth/2)
                x += cwidth + cxspace

            x += sepcxspace
            r = Rectangle((x,y), width=cwidth, height=cwidth, facecolor='black' if (out==1) else 'white', edgecolor='#4c4c4c')
            ax2.add_artist(Text(x-(sepcxspace/2)-(cxspace/2),y+cwidth/2, text=':', color='black', va='center', ha='center',fontsize=14,weight='bold',family='serif'))
            ax2.add_artist(Text(x+(cwidth/2),y+cwidth/10*4, text=out, color='white' if (out==1) else 'black', va='center', ha='center',fontsize=14,family='serif'))
            boxes.append(r)
            xticks.append(x+cwidth/2)
            yticks.append(y+cwidth/2)
            y += cwidth + cyspace
            t += 1
        y += sepcyspace

    if len(boxes):
        ax2.add_collection(PatchCollection(boxes,match_original=True))
    if len(symbols):
        ax2.add_collection(PatchCollection(symbols,match_original=True))
    #
    ax2.set_yticks(yticks)
    ax2.set_yticklabels([r"$f^{''}_{%d}$"%(i+1) for i in range(n_ts)[::-1]], fontsize=14)
    ax2.set_xticks(xticks)
    ax2.set_xticklabels(inputs + ['%s'%(n.name)], rotation=90, fontsize=14)
    #
    ax2.xaxis.tick_top()
    # Remove Tick
    ax2.tick_params(which='major',pad=7)
    for tic in ax2.xaxis.get_major_ticks():
        tic.tick1On = tic.tick2On = False
    for tic in ax2.yaxis.get_major_ticks():
        tic.tick1On = tic.tick2On = False
    # Remove Border
    ax2.spines['top'].set_visible(False)
    ax2.spines['right'].set_visible(False)
    ax2.spines['bottom'].set_visible(False)
    ax2.spines['left'].set_visible(False)
    # Limits
    ax2.set_xlim(-border,ax2width+border)
    ax2.set_ylim(-border,ax2height+border)

    # FileName
    filename = n.name.replace('/','_')
    filename = filename.replace(',','_')
    ### SAVE to FILE ###
    #plt.savefig('%s/../experiments/2017 - BioModels/%s/schematas/%s-%s' % (os.getcwd(), foldername, nid, filename), dpi=dpi)
    #plt.close()

In [19]:
for nid,n in enumerate(N.nodes):
    print 'Plotting: %s - %s' % (nid,n.name)
    # Compute Prime Implicants & Two-Symbol schematas
    n._check_compute_canalization_variables(prime_implicants=True)
    n._check_compute_canalization_variables(two_symbols=True)
    # Plot
    plot_schemata(nid,n)


Plotting: 0 - IGF1R_T
Plotting: 1 - IGF1R
Plotting: 2 - IGF1R_2
Plotting: 3 - Fulvestrant
Plotting: 4 - Alpelisib
Plotting: 5 - Everolimus
Plotting: 6 - Trametinib
Plotting: 7 - Ipatasertib
Plotting: 8 - Palbociclib
Plotting: 9 - Neratinib
Plotting: 10 - HER2
Plotting: 11 - HER3_T
Plotting: 12 - HER3
Plotting: 13 - HER3_2
Plotting: 14 - PDK1
Plotting: 15 - mTORC2
Plotting: 16 - SGK1_T
Plotting: 17 - SGK1
Plotting: 18 - PIM
Plotting: 19 - HER2_3
Plotting: 20 - HER2_3_2
Plotting: 21 - RAS
Plotting: 22 - RAS_2
Plotting: 23 - RAS_3
Plotting: 24 - MAPK
Plotting: 25 - MAPK_2
Plotting: 26 - PI3K
Plotting: 27 - PI3K_2
Plotting: 28 - PTEN
Plotting: 29 - PIP3
Plotting: 30 - PIP3_2
Plotting: 31 - PDK1_pm
Plotting: 32 - mTORC2_pm
Plotting: 33 - AKT
Plotting: 34 - p21_p27_T
Plotting: 35 - p21_p27
Plotting: 36 - cycE_CDK2_T
Plotting: 37 - cycE_CDK2
Plotting: 38 - KMT2D
Plotting: 39 - TSC
Plotting: 40 - PRAS40
Plotting: 41 - mTORC1
Plotting: 42 - FOXO3
Plotting: 43 - FOXO3_Ub
Plotting: 44 - BIM_T
Plotting: 45 - BCL2_T
Plotting: 46 - BIM
Plotting: 47 - BAD
Plotting: 48 - MCL1
Plotting: 49 - EIF4F
Plotting: 50 - S6K
Plotting: 51 - Translation
Plotting: 52 - ER
Plotting: 53 - ESR1
Plotting: 54 - ESR1_2
Plotting: 55 - FOXA1
Plotting: 56 - PBX1
Plotting: 57 - ER_transcription
Plotting: 58 - ER_transcription_2
Plotting: 59 - MYC
Plotting: 60 - MYC_2
Plotting: 61 - cyclinD
Plotting: 62 - cyclinD_2
Plotting: 63 - BCL2
Plotting: 64 - CDK46
Plotting: 65 - cycD_CDK46
Plotting: 66 - cycD_CDK46_2
Plotting: 67 - pRb
Plotting: 68 - pRb_2
Plotting: 69 - pRb_3
Plotting: 70 - E2F
Plotting: 71 - E2F_2
Plotting: 72 - E2F_3
Plotting: 73 - Proliferation
Plotting: 74 - Proliferation_2
Plotting: 75 - Proliferation_3
Plotting: 76 - Proliferation_4
Plotting: 77 - Apoptosis
Plotting: 78 - Apoptosis_2
Plotting: 79 - Apoptosis_3
C:\Users\tjparmer\AppData\Roaming\Python\Python27\site-packages\matplotlib\pyplot.py:516: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).
  max_open_warning, RuntimeWarning)

In [ ]: